Tipe data dalam Model Data

Berlaku Untuk
Excel untuk Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

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

Atas Halaman

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.

Atas Halaman