Tipe data dalam Model Data

Dalam Model Data, tiap kolom mempunyai tipe data terkait yang menentukan tipe data bisa disimpan oleh kolom: bilangan bulat, bilangan desimal, teks, data moneter, tanggal dan waktu, dan sebagainya. Tipe data juga menentukan jenis operasi apa yang bisa Anda lakukan di kolom tersebut, dan seberapa banyak memori yang diperlukan untuk menyimpan nilai dalam kolom.

Jika add-in Power Pivot digunakan, Anda dapat mengubah tipe data kolom. Anda mungkin perlu melakukan ini jika kolom tanggal diimpor sebagai string, namun Anda memerlukan tipe data lainnya. Untuk informasi selengkapnya, lihat Mengatur tipe data kolom di Power Pivot.

Di artikel ini


Ringkasan tipe data

Tabel berikut ini berisi daftar tipe data yang didukung di Model Data. Ketika Anda mengimpor data atau menggunakan nilai dalam rumus, sekalipun sumber data asli berisi tipe data yang berbeda, datanya dikonversi ke salah satu tipe data ini. Nilai yang dihasilkan rumus juga menggunakan tipe data ini.

Tipe data di Excel Tipe data di DAX Deskripsi
Bilangan Bulat Nilai bilangan bulat 64 bit (8 byte) 1, 2 Angka yang tidak mempunyai tempat desimal. Bilangan bulat bisa berupa bilangan 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).
Bilangan Desimal Bilangan riil 64 bit (8 byte) 1, 2

Bilangan riil adalah bilangan yang bisa memiliki tempat desimal. Bilangan riil mencakup rentang nilai yang luas:

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

Nilai

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

Namun, jumlah digit signifikan dibatasi hingga 15 digit desimal.

TRUR/FALSE Boolean Nilai Benar atau Salah.
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 mega karakter) atau 536.870.912 byte.

Tanggal Tanggal/waktu

Tanggal dan waktu dalam representasi tanggal-waktu yang dapat 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 Tipe data kosong adalah tipe data di DAX yang menyatakan dan mengganti nilai null SQL. Anda bisa membuat kosong dengan menggunakan fungsi BLANK, dan mengujinya dengan menggunakan fungsi logika, ISBLANK.

1 Rumus DAX tidak mendukung tipe data yang lebih kecil daripada yang dicantumkan di dalam tabel.

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

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

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

Nilai
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2,2250738585072014e-308

Hapus nilai dari data Anda, lalu coba impor kembali.

Tipe Data Tabel

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

Konversi tipe data implisit dan eksplisit dalam rumus DAX

Setiap fungsi DAX mempunyai persyaratan spesifik perihal tipe data yang digunakan sebagai input dan output. Misalnya, beberapa fungsi memerlukan bilangan bulat untuk beberapa argumen dan tanggal untuk yang lainnya; fungsi lain memerlukan teks atau tabel.

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

  • Anda dapat mengetik tanggal sebagai string, dan DAX akan mengurai string dan berupaya mengubahnya menjadi salah satu format tanggal dan waktu Windows.
  • Anda dapat 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 dinyatakan sebagai teks ("12") sementara yang lainnya sebagai angka (12), DAX akan mengubah string menjadi angka secara implisit, lalu melakukan penambahan untuk hasil numerik. Ekspresi berikut mengembalikan 44: = "22" + 22
  • Jika Anda berupaya menggabungkan dua angka, Excel akan menampilkannya sebagai string, lalu menggabungkan. Ekspresi berikut mengembalikan "1234": = 12 & 34

Tabel berikut meringkas konversi tipe data implisit yang dijalankan dalam rumus. Excel menjalankan konversi implisit bila memungkinkan, sebagaimana diperlukan oleh operasi tertentu.

Tabel Konversi Data Implisit

Tipe konversi yang dijalankan ditentukan oleh operator, yang memberikan nilai yang diperlukan sebelum menjalankan operasi yang diminta. Tabel ini mencantumkan daftar operator, dan mengindikasikan konversi yang dijalankan pada setiap tipe data dalam kolom saat dipasangkan dengan tipe data dalam baris irisan.

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

Penambahan (+)
Operator (+) BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
BILANGAN BULAT BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
MATA UANG MATA UANG MATA UANG RIIL Tanggal/waktu
RIIL RIIL RIIL RIIL Tanggal/waktu
Tanggal/waktu Tanggal/waktu Tanggal/waktu Tanggal/waktu Tanggal/waktu

Misalnya, jika bilangan riil digunakan dalam operasi penambahan bersama data mata uang, kedua nilai ini akan dikonversikan ke RIIL, dan hasilnya ditampilkan sebagai bilangan RIIL.

Pengurangan (-)

Dalam tabel berikut, header baris adalah bilangan yang dikurangi (sisi kiri) dan header kolom adalah bilangan pengurang (sisi kanan).

Operator (-) BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
BILANGAN BULAT BILANGAN BULAT MATA UANG RIIL RIIL
MATA UANG MATA UANG MATA UANG RIIL RIIL
RIIL RIIL RIIL RIIL RIIL
Tanggal/waktu Tanggal/waktu Tanggal/waktu Tanggal/waktu Tanggal/waktu

Misalnya, jika tanggal digunakan dalam operasi pengurangan bersama tipe data lainnya, kedua nilai ini akan dikonversikan ke tanggal, dan nilai yang dihasilkan juga berupa tanggal.

 Catatan    Model data juga mendukung operator unary, - (negatif), namun operator ini tidak mengubah tipe data operand.

Perkalian (*)
Operator (*) BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
BILANGAN BULAT BILANGAN BULAT MATA UANG RIIL BILANGAN BULAT
MATA UANG MATA UANG RIIL MATA UANG MATA UANG
RIIL RIIL MATA UANG RIIL RIIL

Misalnya, jika bilangan bulat digabungkan dengan bilangan riil dalam operasi perkalian, kedua angka ini akan dikonversikan ke angka riil, dan nilai yang dikembalikan juga bilangan RIIL.

Pembagian (/)

Dalam tabel berikut, header baris adalah pembilang dan header kolom adalah penyebut.

Operator (/)

(Baris/Kolom)

BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
BILANGAN BULAT RIIL MATA UANG RIIL RIIL
MATA UANG MATA UANG RIIL MATA UANG RIIL
RIIL RIIL RIIL RIIL RIIL
Tanggal/waktu RIIL RIIL RIIL RIIL

Misalnya, jika bilangan digabungkan dengan nilai mata uang dalam operasi pembagian, kedua nilai ini akan dikonversikan ke angka riil, dan hasilnya juga berupa bilangan riil.

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; nilai angka dan tanggal/waktu dianggap memiliki peringkat yang sama. Tidak ada konversi implisit yang dijalankan untuk nilai Boolean atau string; BLANK atau nilai kosong dikonversi ke 0/""/false bergantung pada tipe data dari nilai yang dibandingkan.

Ekspresi DAX berikut mengilustrasikan perlaku ini:

        =
        IF(
        FALSE()>"
        true","Expression
         is true", "Expression is false"), returns "Expression is true"
      
        =
        IF(
        "12">12,"Expression is true", "Expression is false"), returns "Expression is true"
        .
      
        =
        IF(
        "12"=12,"Expression is true", "Expression is false"), returns "Expression is false"
      

Konversi dilakukan secara implisit untuk tipe numerik atau tanggal/waktu dalam tabel berikut:

Operator Perbandingan BILANGAN BULAT MATA UANG RIIL Tanggal/waktu
BILANGAN BULAT BILANGAN BULAT MATA UANG RIIL RIIL
MATA UANG MATA UANG MATA UANG RIIL RIIL
RIIL RIIL RIIL RIIL RIIL
Tanggal/waktu RIIL RIIL RIIL Tanggal/waktu

Atas Halaman Atas Halaman

Menangani nilai kosong, string kosong, dan nilai nol

Di DAX, null, nilai kosong, sel kosong, atau nilai yang hilang semuanya dinyatakan dengan tipe nilai baru yang sama yaitu BLANK. Anda juga bisa membuat kosong dengan menggunakan fungsi BLANK, atau menguji kosong dengan menggunakan fungsi ISBLANK.

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

Ekspresi DAX Excel
BLANK + BLANK BLANK 0 (nol)
BLANK +5 5 5
BLANK * 5 BLANK 0 (nol)
5/BLANK Tidak Terhingga Kesalahan
0/BLANK NaN Kesalahan
BLANK/BLANK BLANK Kesalahan
FALSE OR BLANK FALSE FALSE
FALSE DAN BLANK FALSE FALSE
TRUE ATAU BLANK TRUE TRUE
TRUE DAN BLANK FALSE TRUE
BLANK ATAU BLANK BLANK Kesalahan
BLANK DAN BLANK BLANK Kesalahan

Untuk detail tentang cara fungsi atau operator tertentu menangani kosong, lihat masing-masing topik untuk setiap fungsi DAX dalam bagian Referensi Fungsi DAX.

Atas Halaman Atas Halaman

 
 
Berlaku pada:
Excel 2013, Power BI for Office 365 Preview, Power Pivot in Excel 2013