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
-
Tipe Data Tabel
-
-
Konversi tipe data implisit dan eksplisit dalam rumus DAX
-
Tabel Konversi Data Implisit
-
Penambahan (+)
-
Pengurangan (-)
-
Perkalian (*)
-
Divisi (/)
-
Operator perbandingan
-
-
-
Menangani nilai kosong, string kosong, dan nol
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