Tipe data dalam Model Data

Dalam Model Data, setiap kolom memiliki tipe data terkait yang menentukan tipe data yang dapat menampung kolom: bilangan bulat, angka desimal, teks, data moneter, tanggal dan waktu, dan lain-lain. Tipe data juga menentukan jenis operasi yang dapat Anda lakukan di kolom, dan berapa banyak memori yang dibutuhkan untuk menyimpan nilai dalam kolom.

Jika menggunakan add-in Power Pivot , Anda dapat mengubah tipe data kolom. Anda mungkin perlu melakukan ini jika kolom tanggal diimpor sebagai string, namun Anda membutuhkannya sebagai sesuatu yang lain. Untuk informasi selengkapnya, lihat Mengatur tipe data kolom diPower Pivot.

Di artikel ini

Ringkasan tipe data

Tabel berikut ini mencantumkan tipe data yang didukung dalam Model Data. Ketika Anda mengimpor data atau menggunakan nilai dalam rumus, meskipun sumber data asli berisi tipe data yang berbeda, data dikonversi menjadi salah satu tipe data ini. Nilai yang dihasilkan dari rumus juga menggunakan tipe data ini.

Tipe data di Excel

Tipe data dalam DAX

Deskripsi

Angka Seluruh

Nilai bilangan bulat 1, 2 bit (delapan byte)

Angka yang tidak mempunyai tempat desimal. Bilangan bulat bisa berupa angka positif atau negatif, namun harus berupa bilangan bulat antara -9.223.372.036.854.775.808 (-2^63) dan 9.223.372.036.854.775.807 (2^63-1).

Angka Desimal

Bilangan riil 1, 2 (delapan byte) 64 bit (delapan-byte)

Bilangan riil adalah angka yang dapat memiliki tempat desimal. Angka riil mencakup berbagai nilai:

Nilai negatif dari -1,79E +308 hingga -2,23E -308

Nol

Nilai positif dari 2,23E -308 hingga 1,79E + 308

Namun, jumlah digit signifikan terbatas hingga 15 digit desimal.

BENAR/SALAH

Boolean

Nilai Benar atau Salah.

Teks

String

String data karakter Unicode. Bisa string, angka atau tanggal yang dinyatakan dalam format teks.

Panjang string maksimum adalah 268.435.456 karakter Unicode (256 mega karakter) atau 536.870.912 byte.

Tanggal

Tanggal/waktu

Tanggal dan waktu dalam representasi tanggal-waktu yang diterima.

Tanggal yang valid adalah semua tanggal setelah 1 Januari 1900.

Mata Uang

Mata Uang

Tipe data mata uang memungkinkan nilai antara -922.337.203.685.477,5808 hingga 922.337.203.685.477,5807 dengan empat digit desimal presisi tetap.

N/A

Kosong

Kosong adalah tipe data dalam DAX yang menyatakan dan mengganti SQL null. Anda dapat membuat kosong menggunakan fungsi BLANK dan menguji kosong menggunakan fungsi logika ISBLANK.

Rumus 1 DAX tidak mendukung tipe data yang lebih kecil dari yang tercantum dalam tabel.

2 Jika Anda mencoba mengimpor data yang memiliki nilai numerik yang sangat besar, impor mungkin gagal dengan kesalahan berikut:

Kesalahan database dalam memori: Kolom '<nama kolom>' dari tabel '<nama tabel>' berisi nilai, '1,7976931348623157e+308', yang tidak didukung. Operasi telah dibatalkan.

Kesalahan ini terjadi karena Power Pivot menggunakan nilai tersebut untuk mewakili null. Nilai dalam daftar berikut ini adalah sinonim untuk nilai null:

Nilai

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Hapus nilai dari data Anda dan cobalah mengimpor lagi.

Tipe Data Tabel

DAX menggunakan tipe data tabel dalam banyak fungsi, seperti agregasi dan perhitungan kecerdasan waktu. Beberapa fungsi memerlukan referensi ke tabel; fungsi lain mengembalikan tabel yang kemudian bisa digunakan sebagai input untuk fungsi lainnya. Dalam beberapa fungsi yang memerlukan tabel sebagai input, Anda dapat menentukan ekspresi yang mengevaluasi tabel; untuk beberapa fungsi, referensi ke tabel dasar diperlukan. Untuk informasi tentang persyaratan fungsi tertentu, lihat Referensi Fungsi DAX.

Konversi tipe data implisit dan eksplisit dalam rumus DAX

Setiap fungsi DAX memiliki persyaratan khusus terkait tipe data yang digunakan sebagai input dan output. Misalnya, beberapa fungsi memerlukan bilangan bulat untuk beberapa argumen dan tanggal bagi yang lain; fungsi lain memerlukan teks atau tabel.

Jika data dalam kolom yang Anda tentukan sebagai argumen tidak kompatibel dengan tipe data yang diperlukan oleh fungsi, DAX dalam banyak kasus akan mengembalikan kesalahan. Namun, jika memungkinkan DAX akan berusaha mengonversi data secara implisit ke tipe data yang diperlukan. Misalnya:

  • Anda dapat mengetikkan tanggal sebagai string, dan DAX akan memilah string dan mencoba memberikannya sebagai salah satu format Windows tanggal dan waktu.

  • Anda dapat menambahkan TRUE + 1 dan mendapatkan hasilnya 2, karena TRUE secara implisit dikonversi ke angka 1 dan operasi 1+1 dijalankan.

  • Jika Anda menambahkan nilai dalam dua kolom, dan satu nilai dinyatakan sebagai teks ("12") dan yang lain sebagai angka (12), DAX secara implisit mengonversi string menjadi angka lalu melakukan penambahan untuk hasil numerik. Ekspresi berikut mengembalikan 44: = "22" + 22

  • Jika Anda berusaha menggabungkan dua angka, Excel akan menampilkannya sebagai string lalu menggabungkannya. Ekspresi berikut mengembalikan "1234": = 12 & 34

Tabel berikut ini merangkum konversi tipe data implisit yang dilakukan dalam rumus. Excel menjalankan konversi implisit kapan pun memungkinkan, sebagaimana diperlukan oleh operasi yang ditentukan.

Tabel Konversi Data Implisit

Tipe konversi yang dijalankan ditentukan oleh operator, yang memberikan nilai yang diperlukan sebelum melakukan operasi yang diminta. Tabel ini mencantumkan operator, dan menunjukkan konversi yang dilakukan pada setiap tipe data dalam kolom saat dipasangkan dengan tipe data dalam baris yang beririsan.

Catatan: Tipe data teks tidak disertakan dalam tabel ini. Ketika angka dinyatakan dalam format teks, dalam beberapa kasus, Power Pivot akan mencoba menentukan tipe angka dan menyatakannya sebagai angka.

Penambahan (+)

Operator (+)

BILANGAN BULAT

CURRENCY

RIIL

Tanggal/waktu

INTEGER

INTEGER

CURRENCY

RIIL

Tanggal/waktu

CURRENCY

CURRENCY

CURRENCY

RIIL

Tanggal/waktu

REAL

REAL

REAL

REAL

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Misalnya, jika angka riil digunakan dalam operasi penambahan dalam kombinasi dengan data mata uang, kedua nilai dikonversi menjadi REAL, dan hasilnya dikembalikan sebagai REAL.

Pengurangan (-)

Dalam tabel berikut header baris adalah minuend (sisi kiri) dan header kolom adalah pengurangan (sisi kanan).

Operator (-)

BILANGAN BULAT

CURRENCY

RIIL

Tanggal/waktu

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Tanggal/waktu

Misalnya, jika tanggal digunakan dalam operasi pengurangan dengan tipe data lain, kedua nilai dikonversi menjadi tanggal, dan nilai yang dikembalikan juga merupakan tanggal.

Catatan: Model data juga mendukung operator tanpa operator, - (negatif), tetapi operator ini tidak mengubah tipe data operand.

Perkalian (*)

Operator (*)

BILANGAN BULAT

CURRENCY

RIIL

Tanggal/waktu

INTEGER

INTEGER

CURRENCY

RIIL

BILANGAN BULAT

CURRENCY

CURRENCY

RIIL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

Sebagai contoh, jika bilangan bulat digabungkan dengan bilangan riil dalam operasi perkalian, kedua angka dikonversi menjadi bilangan riil, dan nilai yang dikembalikan juga adalah REAL.

Divisi (/)

Dalam tabel berikut ini, header baris adalah pembilang dan header kolom adalah denominator.

Operator (/)

(Baris/Kolom)

BILANGAN BULAT

CURRENCY

RIIL

Tanggal/waktu

BILANGAN BULAT

RIIL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

RIIL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

Tanggal/waktu

REAL

REAL

REAL

REAL

Misalnya, jika bilangan bulat digabungkan dengan nilai mata uang dalam operasi pembagian, kedua nilai dikonversi menjadi bilangan riil, dan hasilnya juga bilangan riil.

Operator perbandingan

Dalam ekspresi perbandingan nilai Boolean dianggap lebih besar dari nilai string dan nilai string dianggap lebih besar daripada nilai numerik atau tanggal/waktu; angka dan nilai tanggal/waktu dianggap memiliki peringkat yang sama. Tidak ada konversi implisit yang dilakukan untuk nilai Boolean atau string; BLANK atau nilai kosong dikonversi menjadi 0/""/false, tergantung pada tipe data dari nilai lain yang dibandingkan.

Ekspresi DAX berikut mengilustrasikan perilaku ini:

=IF(FALSE()>"true","Expression is true", "Expression is false"), mengembalikan "Expression is true"

=IF("12">12,"Ekspresi adalah benar", "Ekspresi adalah salah"), mengembalikan "Ekspresi adalah benar".

=IF("12"=12,"Ekspresi adalah benar", "Ekspresi adalah salah"), mengembalikan "Ekspresi adalah salah"

Konversi dilakukan secara implisit untuk tipe numerik atau tanggal/waktu seperti yang diuraikan dalam tabel berikut ini:

Operator Perbandingan

BILANGAN BULAT

CURRENCY

RIIL

Tanggal/waktu

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Tanggal/waktu

REAL

REAL

REAL

Tanggal/waktu

Atas Halaman

Menangani nilai kosong, string kosong, dan nol

Di DAX, nilai kosong, sel kosong, atau nilai yang hilang semuanya dinyatakan oleh tipe nilai baru yang sama, KOSONG. Anda juga dapat menghasilkan kosong menggunakan fungsi BLANK, atau menguji kosong menggunakan fungsi ISBLANK.

Cara kosong ditangani dalam operasi, seperti penambahan atau penggabungan, bergantung pada fungsi individual. Tabel berikut meringkas perbedaan antara DAX Microsoft Excel rumus, dengan cara yang kosong ditangani.

Ekspresi

DAX

Excel

KOSONG + KOSONG

KOSONG

0 (nol)

KOSONG +5

5

5

KOSONG * 5

KOSONG

0 (nol)

5/KOSONG

Tak terbatas

Kesalahan

0/KOSONG

NaN

Kesalahan

KOSONG/KOSONG

KOSONG

Kesalahan

FALSE ATAU KOSONG

FALSE

FALSE

FALSE DAN KOSONG

FALSE

FALSE

TRUE ATAU KOSONG

TRUE

TRUE

BENAR DAN KOSONG

FALSE

TRUE

KOSONG ATAU KOSONG

KOSONG

Kesalahan

KOSONG DAN KOSONG

KOSONG

Kesalahan

Untuk detail tentang bagaimana fungsi atau operator tertentu menangani kosong, lihat topik individual untuk setiap fungsi DAX, di bagian, Referensi Fungsi DAX.

Atas Halaman

Perlu bantuan lainnya?

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

×