Dalam Model Data, setiap kolom memiliki tipe data terkait yang menentukan tipe data yang bisa ditahan kolom: bilangan bulat, angka desimal, teks, data moneter, tanggal dan waktu, dan seterunya. Tipe data juga menentukan jenis operasi apa yang bisa Anda lakukan pada kolom, dan berapa banyak memori yang diperlukan untuk menyimpan nilai dalam kolom.
Jika Anda menggunakan add-in Power Pivot , Anda bisa mengubah tipe data kolom. Anda mungkin perlu melakukan ini jika kolom tanggal diimpor sebagai string, tetapi Anda memerlukannya untuk menjadi sesuatu yang lain. Untuk informasi selengkapnya, lihat Mengatur tipe data kolom di Power Pivot.
Di artikel ini
Ringkasan tipe data
Tabel berikut ini mencantumkan tipe data yang didukung dalam Model Data. Saat 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 di DAX |
Deskripsi |
---|---|---|
Bilangan Bulat |
Nilai bilangan bulat 64 bit (delapan byte) 1, 2 |
Angka yang tidak memiliki tempat desimal. Bilangan bulat bisa berupa angka positif atau negatif, tetapi 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 64 bit (delapan byte) 1, 2 |
Bilangan riil adalah angka yang bisa memiliki tempat desimal. Bilangan 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 dibatasi hingga 15 digit desimal. |
TRUE/FALSE |
Boolean |
Nilai True atau False. |
Teks |
String |
String data karakter Unicode. Bisa berupa string, angka atau tanggal yang dinyatakan dalam format teks. Panjang string maksimum adalah 268.435.456 karakter Unicode (256 karakter mega) 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 mewakili dan menggantikan null SQL. Anda bisa membuat kosong dengan menggunakan fungsi BLANK, dan menguji untuk kosong dengan menggunakan fungsi logika, ISBLANK. |
1 rumus 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>' 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 coba impor 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 dapat digunakan sebagai input ke fungsi lain. Dalam beberapa fungsi yang memerlukan tabel sebagai input, Anda dapat menentukan ekspresi yang mengevaluasi ke 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 mengenai tipe data yang digunakan sebagai input dan output. Misalnya, beberapa fungsi memerlukan bilangan bulat untuk beberapa argumen dan tanggal untuk 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 mengetik tanggal sebagai string, dan DAX akan menguraikan string dan mencoba untuk menampilkannya sebagai salah satu format tanggal dan waktu Windows.
-
Anda bisa menambahkan TRUE + 1 dan mendapatkan hasil 2, karena TRUE dikonversi secara implisit ke angka 1 dan operasi 1+1 dilakukan.
-
Jika Anda menambahkan nilai dalam dua kolom, dan satu nilai akan dinyatakan sebagai teks ("12") dan nilai lainnya sebagai angka (12), DAX secara implisit mengonversi string menjadi angka lalu melakukan penambahan untuk hasil numerik. Ekspresi berikut mengembalikan 44: = "22" + 22
-
Jika Anda mencoba menggabungkan dua angka, Excel akan menyajikannya sebagai string lalu menggabungkannya. Ekspresi berikut mengembalikan "1234": = 12 & 34
Tabel berikut ini merangkum konversi tipe data implisit yang dilakukan dalam rumus. Excel melakukan konversi implisit jika memungkinkan, sesuai keperluan operasi yang ditentukan.
Tabel Konversi Data Implisit
Tipe konversi yang dilakukan ditentukan oleh operator, yang melemparkan nilai yang diperlukan sebelum melakukan operasi yang diminta. Tabel ini mencantumkan operator, dan menunjukkan konversi yang dijalankan pada setiap tipe data dalam kolom ketika dipasangkan dengan tipe data dalam baris beririsan.
Catatan:Â Tipe data teks tidak disertakan dalam tabel ini. Ketika angka dinyatakan dalam format teks, dalam beberapa kasus, Power Pivot akan berusaha menentukan tipe angka dan mewakilinya 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 bilangan 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 subtrahend (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 unary, - (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 |
Misalnya, jika bilangan bulat digabungkan dengan bilangan riil dalam operasi perkalian, kedua angka dikonversi menjadi bilangan riil, dan nilai yang dikembalikan juga REAL.
Pembagian (/)
Dalam tabel berikut, header baris adalah pembilang dan header kolom adalah penyebut.
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 dari 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 bergantung pada tipe data dari nilai lain yang dibandingkan.
Ekspresi DAX berikut ini menggambarkan perilaku ini:
=IF(FALSE()>"true","Expression is true", "Expression is false"), mengembalikan "Expression is true"
=IF("12">12,"Expression is true", "Expression is false"), mengembalikan "Expression is true".
=IF("12"=12,"Expression is true", "Expression is false"), mengembalikan "Expression is false"
Konversi dilakukan secara implisit untuk tipe numerik atau tanggal/waktu seperti yang dijelaskan dalam tabel berikut:
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 |
Menangani nilai kosong, string kosong, dan nol
Di DAX, nilai kosong, nilai kosong, sel kosong, atau nilai yang hilang semuanya dinyatakan dengan tipe nilai baru yang sama, KOSONG. Anda juga bisa menghasilkan kosong dengan menggunakan fungsi BLANK, atau menguji untuk kosong dengan menggunakan fungsi ISBLANK.
Bagaimana kosong ditangani dalam operasi, seperti penambahan atau penggandaan, bergantung pada fungsi individual. Tabel berikut ini merangkum perbedaan antara rumus DAX dan Microsoft Excel, dengan cara yang kosong ditangani.
Ekspresi |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
KOSONG |
0 (nol) |
BLANK +5 |
5 |
5 |
KOSONG * 5 |
KOSONG |
0 (nol) |
5/BLANK |
Tak terbatas |
Kesalahan |
0/BLANK |
Nan |
Kesalahan |
KOSONG/KOSONG |
KOSONG |
Kesalahan |
FALSE ATAU KOSONG |
FALSE |
FALSE |
FALSE DAN KOSONG |
FALSE |
FALSE |
TRUE ATAU BLANK |
TRUE |
TRUE |
TRUE 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.