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 dapat ditampung kolom: bilangan bulat, angka desimal, teks, data moneter, tanggal dan waktu, dan lain sebagainya. Tipe data juga menentukan jenis operasi yang dapat Anda lakukan pada kolom, dan berapa banyak memori yang diperlukan untuk menyimpan nilai dalam kolom.

Jika menggunakan add-in Power Pivot, Anda dapat mengubah tipe data kolom. Anda mungkin perlu melakukan hal ini jika kolom tanggal diimpor sebagai string, tetapi Anda harus berupa 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. Ketika Anda mengimpor data atau menggunakan nilai dalam rumus, meskipun sumber data asli berisi tipe data yang berbeda, data akan dikonversi ke 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 dapat berupa bilangan 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 Nomor real 64 bit (delapan byte) 1, 2 Bilangan real adalah angka yang dapat memiliki tempat desimal. Angka riil mencakup berbagai macam 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.
BENAR/SALAH Boolean Nilai True atau False.
Teks String String data karakter Unicode. Dapat berupa string, angka, atau tanggal yang direpresentasikan 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 berlaku 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 presisi tetap empat digit desimal.
N/A Kosong Kosong adalah tipe data di DAX yang mewakili dan menggantikan null SQL. Anda dapat membuat kosong menggunakan fungsi BLANK, dan menguji kosong 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 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 nilai kosong. 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 penghitungan kecerdasan waktu. Beberapa fungsi memerlukan referensi ke tabel; Fungsi lain menghasilkan tabel yang kemudian dapat digunakan sebagai input untuk 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 terkait tipe data yang digunakan sebagai input dan output. Misalnya, beberapa fungsi memerlukan bilangan bulat untuk beberapa argumen dan tanggal untuk yang lain; Fungsi lainnya 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 mencoba mengonversi data secara implisit ke tipe data yang diperlukan. Misalnya:

  • Anda dapat mengetikkan tanggal sebagai string, dan DAX akan mengurai string dan mencoba mentransmisikannya sebagai salah satu format tanggal dan waktu Windows.
  • Anda dapat menambahkan TRUE + 1 dan mendapatkan hasilnya 2, karena TRUE secara implisit dikonversi ke angka 1 dan operasi 1 + 1 dilakukan.
  • Jika Anda menambahkan nilai dalam dua kolom, dan satu nilai kebetulan direpresentasikan sebagai teks ("12") dan nilai lainnya sebagai angka (12), DAX secara implisit mengonversi string menjadi angka, lalu melakukan penambahan untuk hasil numerik. Ekspresi berikut menghasilkan 44: = "22" + 22
  • Jika Anda mencoba menggabungkan dua angka, Excel akan menyajikannya sebagai string, lalu menggabungkan. Ekspresi berikut mengembalikan "1234": = 12 & 34

Tabel berikut ini merangkum konversi tipe data implisit yang dilakukan dalam rumus. Excel melakukan konversi implisit bila memungkinkan, seperti yang diperlukan oleh operasi yang ditentukan.

Tabel konversi data implisit

Jenis konversi yang dilakukan 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 ketika dipasangkan dengan tipe data di baris yang berpotongan.

Catatan

Tipe data teks tidak disertakan dalam tabel ini. Ketika angka direpresentasikan dalam format teks, dalam beberapa kasus Power Pivot akan mencoba menentukan tipe angka dan merepresentasikannya 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 real digunakan dalam operasi penambahan yang dikombinasikan dengan data mata uang, kedua nilai tersebut 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 tersebut akan 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 real dalam operasi perkalian, kedua angka tersebut dikonversi menjadi bilangan real, 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 tersebut dikonversi menjadi bilangan real, dan hasilnya juga merupakan bilangan real.

Operator perbandingan

Dalam ekspresi perbandingan, nilai Boolean dianggap lebih besar daripada 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 bandingan lainnya.

Ekspresi DAX berikut menggambarkan perilaku ini:

=IF(FALSE()>"true","Ekspresi adalah true", "Ekspresi adalah false"), mengembalikan "Ekspresi adalah 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 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 kosong, string kosong, dan nilai nol

Di DAX, nilai null, kosong, sel kosong, atau nilai yang hilang semuanya diwakili oleh tipe nilai baru yang sama, BLANK. Anda juga dapat membuat kosong menggunakan fungsi BLANK, atau menguji kosong menggunakan fungsi ISBLANK.

Cara penanganan kosong dalam operasi, seperti penambahan atau penggabungan, tergantung pada masing-masing fungsi. Tabel berikut merangkum perbedaan antara rumus DAX dan Microsoft Excel, dalam cara penanganan kosong.

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
PALSU ATAU KOSONG FALSE FALSE
PALSU DAN KOSONG FALSE FALSE
BENAR ATAU KOSONG TRUE TRUE
BENAR DAN KOSONG FALSE TRUE
KOSONG ATAU KOSONG KOSONG Kesalahan
KOSONG DAN KOSONG KOSONG Kesalahan

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

Atas Halaman