Bagikan melalui


Jenis data di Power BI Desktop

Artikel ini menjelaskan tipe data yang didukung Power BI Desktop dan Data Analysis Expressions (DAX).

Saat Power BI memuat data, Power BI mencoba mengonversi tipe data kolom sumber menjadi tipe data yang mendukung penyimpanan, perhitungan, dan visualisasi data yang lebih efisien. Misalnya, jika kolom nilai yang Anda impor dari Excel tidak memiliki nilai pecahan, Power BI Desktop mengonversi kolom data menjadi tipe data angka Siapa le, yang lebih cocok untuk menyimpan bilangan bulat.

Konsep ini penting karena beberapa fungsi DAX memiliki persyaratan jenis data khusus. Dalam banyak kasus DAX secara implisit mengonversi jenis data, tetapi dalam beberapa kasus tidak. Misalnya, jika fungsi DAX memerlukan jenis data Tanggal , tetapi jenis data untuk kolom Anda adalah Teks, fungsi DAX tidak akan berfungsi dengan benar. Jadi penting dan berguna untuk menggunakan jenis data yang benar untuk kolom.

Menentukan dan menentukan jenis data kolom

Di Power BI Desktop, Anda bisa menentukan dan menentukan tipe data kolom di Editor Power Query, dalam Tampilan Data, atau dalam Tampilan Laporan:

  • Di Editor Power Query, pilih kolom lalu pilih Tipe Data di grup Transformasi pita.

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • Di Tampilan Data atau Tampilan Laporan, pilih kolom, lalu pilih panah dropdown di samping Tipe data pada tab Alat kolom pada pita.

    Screenshot of Data View, showing the Data type dropdown selection.

Pilihan dropdown Tipe Data di Editor Power Query memiliki dua jenis data yang tidak ada di Tampilan Data atau Tampilan Laporan: Tanggal/Waktu/Zona Waktu dan Durasi. Saat Anda memuat kolom dengan tipe data ini ke dalam model Power BI, kolom Tanggal/Waktu/Zona Waktu dikonversi menjadi tipe data Tanggal/waktu , dan kolom Durasi dikonversi menjadi tipe data angka Desimal.

Jenis data Biner tidak didukung di luar Editor Power Query. Di Editor Power Query, Anda bisa menggunakan tipe data Biner saat memuat file biner jika Anda mengonversinya ke jenis data lain sebelum memuatnya ke dalam model Power BI. Pilihan Biner ada di menu Tampilan Data dan Tampilan Laporan karena alasan warisan, tetapi jika Anda mencoba memuat kolom Biner ke dalam model Power BI, Anda mungkin mengalami kesalahan.

Jenis angka

Power BI Desktop mendukung tiga jenis angka: Angka desimal, Angka desimal tetap, dan angka Siapa le.

Anda dapat menggunakan properti Kolom DataType Model Objek Tabular (TOM) untuk menentukan DataType Enum untuk jenis angka. Untuk informasi selengkapnya tentang memodifikasi objek secara terprogram di Power BI, lihat Memprogram model semantik Power BI dengan Model Objek Tabular.

Bilangan desimal

Angka desimal adalah jenis angka yang paling umum, dan dapat menangani angka dengan nilai pecahan dan bilangan bulat. Angka desimal menunjukkan angka titik mengambang 64-bit (delapan byte) dengan nilai negatif dari -1,79E +308 hingga -2,23E -308, nilai positif dari 2,23E -308 hingga 1,79E +308, dan 0. Angka seperti 34, 34.01, dan 34.000367063 adalah angka desimal yang valid.

Presisi tertinggi yang dapat diwakili oleh jenis Angka desimal adalah 15 digit. Pemisah desimal dapat terjadi di mana saja dalam angka. Tipe ini sesuai dengan bagaimana Excel menyimpan angkanya, dan TOM menentukan tipe ini sebagai DataType.Double Enum.

Angka desimal tetap

Jenis data angka desimal tetap memiliki lokasi tetap untuk pemisah desimal. Pemisah desimal selalu memiliki empat digit di sebelah kanannya, dan memungkinkan 19 digit signifikansi. Nilai terbesar yang dapat direpresentasikan angka desimal tetap adalah positif atau negatif 922.337.203.685.477,5807.

Jenis angka desimal tetap berguna dalam kasus di mana pembulatan mungkin menimbulkan kesalahan. Angka yang memiliki nilai pecahan kecil terkadang dapat menumpuk dan memaksa angka menjadi sedikit tidak akurat. Jenis angka desimal tetap dapat membantu Anda menghindari kesalahan semacam ini dengan memotong nilai melewati empat digit di sebelah kanan pemisah desimal.

Tipe data ini sesuai dengan Desimal SQL Server (19,4), atau tipe data Mata Uang di Analysis Services dan Power Pivot di Excel. TOM menentukan jenis ini sebagai DataType.Decimal Enum.

Bilangan bulat

Siapa angka menunjukkan nilai bilangan bulat 64-bit (delapan byte). Karena bilangan bulat, angka Siapa le tidak memiliki digit di sebelah kanan tempat desimal. Jenis ini memungkinkan 19 digit bilangan bujur positif atau negatif antara -9.223.372.036.854.775.807 (-2^63+1) dan 9.223.372.036.854.775.806 (2^63-2), sehingga dapat mewakili jumlah terbesar dari jenis data numerik.

Seperti halnya jenis desimal tetap, jenis angka Siapa le dapat berguna saat Anda perlu mengontrol pembulatan. TOM mewakili jenis data angka Siapa le sebagai DataType.Int64 Enum.

Catatan

Model data Power BI Desktop mendukung nilai bilangan bulat 64-bit, tetapi karena keterbatasan JavaScript, jumlah terbesar visual Power BI dapat diekspresikan dengan aman adalah 9.007.199.254.740.991 (2^53-1). Jika model data Anda memiliki angka yang lebih besar, Anda dapat mengurangi ukurannya melalui perhitungan sebelum menambahkannya ke visual.

Akurasi perhitungan jenis angka

Nilai kolom tipe data angka desimal disimpan sebagai perkiraan jenis data, sesuai dengan Standar IEEE 754 untuk angka titik pecahan. Perkiraan jenis data memiliki batasan presisi yang melekat, karena alih-alih menyimpan nilai angka yang tepat, mereka dapat menyimpan perkiraan yang sangat dekat, atau dibulatkan.

Kerugian presisi, atau impresi, dapat terjadi jika nilai floating-point tidak dapat mengukur jumlah digit titik mengambang dengan andal. Impresi berpotensi muncul sebagai hasil perhitungan yang tidak terduga atau tidak akurat dalam beberapa skenario pelaporan.

Perhitungan perbandingan terkait kesetaraan antara nilai tipe data angka desimal berpotensi mengembalikan hasil yang tidak terduga. Perbandingan kesetaraan mencakup sama dengan =, lebih besar dari >, kurang dari <, lebih besar dari atau sama dengan , dan kurang dari atau sama dengan <=.>=

Masalah ini paling jelas ketika Anda menggunakan fungsi RANKX dalam ekspresi DAX, yang menghitung hasilnya dua kali, menghasilkan angka yang sedikit berbeda. Pengguna laporan mungkin tidak melihat perbedaan antara dua angka, tetapi hasil peringkat dapat terlihat tidak akurat. Untuk menghindari hasil yang tidak terduga, Anda dapat mengubah tipe data kolom dari Angka desimal menjadi angka desimal tetap atau angka Siapa le, atau melakukan pembulatan paksa dengan menggunakan ROUND. Jenis data angka desimal tetap memiliki presisi yang lebih besar, karena pemisah desimal selalu memiliki empat digit di sebelah kanannya.

Jarang, perhitungan yang menjumlahkan nilai kolom tipe data Angka desimal dapat mengembalikan hasil yang tidak terduga. Hasil ini kemungkinan besar dengan kolom yang memiliki jumlah besar dari angka positif dan angka negatif. Hasil penjumlahan dipengaruhi oleh distribusi nilai di seluruh baris dalam kolom.

Jika perhitungan yang diperlukan menjumlahkan sebagian besar angka positif sebelum menjumlahkan sebagian besar angka negatif, jumlah parsial positif besar di awal berpotensi membuat condong hasilnya. Jika perhitungan terjadi untuk menambahkan angka positif dan negatif yang seimbang, kueri mempertahankan lebih banyak presisi, dan karenanya mengembalikan hasil yang lebih akurat. Untuk menghindari hasil yang tidak terduga, Anda dapat mengubah tipe data kolom dari Angka desimal menjadi Angka desimal tetap atau nomor Siapa le.

Jenis tanggal/waktu

Power BI Desktop mendukung lima tipe data Tanggal/Waktu dalam Editor Power Query. Baik Tanggal/Waktu/Zona Waktu dan Durasi dikonversi selama pemuatan ke dalam model data Power BI Desktop. Model mendukung Tanggal/Waktu, atau Anda dapat memformat nilai sebagai Tanggal atau Waktu secara independen.

  • Tanggal/Waktu menunjukkan nilai tanggal dan waktu. Nilai Tanggal/Waktu yang mendasar disimpan sebagai jenis Angka desimal, sehingga Anda dapat mengonversi antara dua jenis. Bagian waktu disimpan sebagai pecahan ke kelipatan keseluruhan 1/300 detik (3,33 mdtk). Jenis data mendukung tanggal antara tahun 1900 dan 9999.

  • Tanggal hanya mewakili tanggal tanpa bagian waktu. Tanggal dikonversi menjadi model sebagai nilai Tanggal/Waktu dengan nol untuk nilai pecahan.

  • Waktu hanya mewakili waktu tanpa bagian tanggal. Waktu dikonversi menjadi model sebagai nilai Tanggal/Waktu tanpa digit di sebelah kiri titik desimal.

  • Tanggal/Waktu/Zona Waktu mewakili tanggal/waktu UTC dengan offset zona waktu, dan dikonversi menjadi Tanggal/Waktu saat dimuat ke dalam model. Model Power BI tidak menyesuaikan zona waktu berdasarkan lokasi atau lokal pengguna. Nilai 09:00 yang dimuat ke dalam model di AS ditampilkan sebagai 09:00 di mana pun laporan dibuka atau dilihat.

  • Durasi mewakili lamanya waktu, dan dikonversi menjadi jenis Angka Desimal saat dimuat ke dalam model. Sebagai jenis Angka Desimal, Anda dapat menambahkan atau mengurangi nilai dari nilai Tanggal/Waktu dengan hasil yang benar, dan dengan mudah menggunakan nilai dalam visualisasi yang memperlihatkan besaran.

Jenis Teks

Jenis data Teks adalah string data karakter Unicode, yang bisa berupa huruf, angka, atau tanggal yang diwakili dalam format teks. Batas maksimum praktis untuk panjang string adalah sekitar 32.000 karakter Unicode, berdasarkan mesin Power Query power BI yang mendasar, dan batasannya pada panjang jenis data teks . Jenis data teks di luar batas maksimum praktis kemungkinan akan mengakibatkan kesalahan.

Cara Power BI menyimpan data teks dapat menyebabkan data ditampilkan secara berbeda dalam situasi tertentu. Bagian berikutnya menjelaskan situasi umum yang dapat menyebabkan data Teks sedikit berubah antara mengkueri data dalam Editor Power Query dan memuatnya ke Power BI.

Sensitivitas huruf besar/besar

Mesin yang menyimpan dan mengkueri data di Power BI tidak peka huruf besar/kecil, dan memperlakukan kapitalisasi huruf yang berbeda sebagai nilai yang sama. "A" sama dengan "a". Namun, Power Query peka huruf besar/kecil, di mana "A" tidak sama dengan "a". Perbedaan sensitivitas kasus dapat menyebabkan situasi di mana data teks mengubah kapitalisasi tampaknya tidak dapat dijelaskan setelah dimuat ke Power BI.

Contoh berikut menunjukkan data pesanan: Kolom OrderNo yang unik untuk setiap pesanan, dan kolom Addressee yang memperlihatkan nama penerima alamat yang dimasukkan secara manual pada waktu pesanan. Editor Power Query menunjukkan beberapa pesanan dengan pesanan yang sama Nama penerima alamat dimasukkan ke dalam sistem dengan berbagai kapitalisasi.

Screenshot of textual data with various capitalizations in Power Query

Setelah Power BI memuat data, kapitalisasi nama duplikat di tab Data berubah dari entri asli menjadi salah satu varian kapitalisasi.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Perubahan ini terjadi karena Editor Power Query peka huruf besar/kecil, sehingga menunjukkan data persis seperti yang disimpan dalam sistem sumber. Mesin yang menyimpan data di Power BI tidak peka huruf besar/kecil, jadi memperlakukan versi huruf kecil dan huruf besar karakter sebagai identik. Data Power Query yang dimuat ke dalam mesin Power BI dapat berubah sesuai kebutuhan.

Mesin Power BI mengevaluasi setiap baris satu per satu saat memuat data, dimulai dari bagian atas. Untuk setiap kolom teks, seperti Addressee, mesin menyimpan kamus nilai unik, untuk meningkatkan performa melalui kompresi data. Mesin melihat tiga nilai pertama di kolom Addressee sebagai unik dan menyimpannya dalam kamus. Setelah itu, karena mesin tidak peka huruf besar/kecil, mesin mengevaluasi nama sebagai identik.

Mesin melihat nama "Taina Hasu" identik dengan "TAINA HASU" dan "Taina HASU", sehingga tidak menyimpan variasi tersebut, tetapi mengacu pada variasi pertama yang disimpannya. Nama "MURALI DAS" muncul dalam huruf besar, karena itulah nama muncul pertama kali mesin mengevaluasinya saat memuat data dari atas ke bawah.

Gambar ini menggambarkan proses evaluasi:

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

Dalam contoh sebelumnya, mesin Power BI memuat baris data pertama, membuat kamus Addressee , dan menambahkan Taina Hasu ke dalamnya. Mesin juga menambahkan referensi ke nilai tersebut di kolom Addressee pada tabel yang dimuatnya. Mesin melakukan hal yang sama untuk baris kedua dan ketiga, karena nama-nama ini tidak setara dengan yang lain saat mengabaikan kasus.

Untuk baris keempat, mesin membandingkan nilai dengan nama dalam kamus dan menemukan nama. Karena mesin tidak peka huruf besar/kecil, "TAINA HASU" dan "Taina Hasu" sama. Mesin tidak menambahkan nama baru ke kamus, tetapi mengacu pada nama yang ada. Proses yang sama terjadi untuk baris yang tersisa.

Catatan

Karena mesin yang menyimpan dan mengkueri data di Power BI tidak peka huruf besar/kecil, berhati-hatilah saat Anda bekerja dalam mode DirectQuery dengan sumber peka huruf besar/kecil. Power BI mengasumsikan bahwa sumber telah menghilangkan baris duplikat. Karena Power BI tidak peka huruf besar/kecil, Power BI memperlakukan dua nilai yang hanya berbeda menurut kasus sebagai duplikat, sedangkan sumber mungkin tidak memperlakukannya seperti itu. Dalam kasus seperti itu, hasil akhir tidak terdefinisi.

Untuk menghindari situasi ini, jika Anda menggunakan mode DirectQuery dengan sumber data peka huruf besar/kecil, normalisasi casing dalam kueri sumber atau di Editor Power Query.

Spasi awal dan akhir

Mesin Power BI secara otomatis memangkas spasi berikutnya yang mengikuti data teks, tetapi tidak menghapus spasi awal yang mendahului data. Untuk menghindari kebingungan, saat Anda bekerja dengan data yang berisi spasi di depan atau di belakang, Anda harus menggunakan fungsi Text.Trim untuk menghapus spasi di awal atau akhir teks. Jika Anda tidak menghapus spasi di awal, hubungan mungkin gagal dibuat karena nilai duplikat, atau visual mungkin mengembalikan hasil yang tidak terduga.

Contoh berikut menunjukkan data tentang pelanggan: kolom Nama yang berisi nama pelanggan dan kolom Indeks yang unik untuk setiap entri. Nama muncul dalam tanda kutip untuk kejelasan. Nama pelanggan berulang empat kali, tetapi setiap kali dengan kombinasi ruang depan dan akhir yang berbeda. Variasi ini dapat terjadi dengan entri data manual dari waktu ke waktu.

Baris Spasi di depan Spasi berikutnya Nama Indeks Panjang teks
1 Tidak Tidak "Dylan Williams" 1 14
2 Tidak Ya "Dylan Williams" 10 15
3 Ya Tidak "Dylan Williams" 20 15
4 Ya Ya " Dylan Williams " 40 16

Dalam Editor Power Query, data yang dihasilkan muncul sebagai berikut.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

Saat Anda masuk ke tab Data di Power BI setelah Memuat data, tabel yang sama terlihat seperti gambar berikut, dengan jumlah baris yang sama seperti sebelumnya.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

Namun, visual berdasarkan data ini hanya mengembalikan dua baris.

Screenshot of a table visual based on the same data returning just two lines of data.

Pada gambar sebelumnya, baris pertama memiliki nilai total 60 untuk bidang Indeks , sehingga baris pertama dalam visual mewakili dua baris terakhir dari data yang dimuat. Baris kedua dengan total nilai Indeks 11 mewakili dua baris pertama. Perbedaan jumlah baris antara visual dan tabel data disebabkan oleh mesin secara otomatis menghapus atau memangkas spasi berikutnya, tetapi bukan spasi di depan. Jadi mesin mengevaluasi baris pertama dan kedua, dan baris ketiga dan keempat, sebagai identik, dan visual mengembalikan hasil ini.

Perilaku ini juga dapat menyebabkan pesan kesalahan yang terkait dengan hubungan, karena nilai duplikat terdeteksi. Misalnya, tergantung pada konfigurasi hubungan Anda, Anda mungkin melihat kesalahan yang mirip dengan gambar berikut:

Screenshot of an error message about duplicate values.

Dalam situasi lain, Anda mungkin tidak dapat membuat hubungan banyak ke satu atau satu-ke-satu karena nilai duplikat terdeteksi.

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

Anda dapat melacak kesalahan ini kembali ke spasi awal atau akhir, dan mengatasinya dengan menggunakan Text.Trim, atau Pangkas di bawah Transformasi, untuk menghapus spasi di Editor Power Query.

Jenis true/false

Jenis data True/false adalah nilai Boolean dari True atau False. Untuk hasil terbaik dan paling konsisten, saat Anda memuat kolom yang berisi informasi true/false Boolean ke Power BI, atur jenis kolom ke True/False.

Power BI mengonversi dan menampilkan data secara berbeda dalam situasi tertentu. Bagian ini menjelaskan kasus umum konversi nilai Boolean, dan cara mengatasi konversi yang membuat hasil yang tidak terduga dalam Power BI.

Dalam contoh ini, Anda memuat data tentang apakah pelanggan Anda telah mendaftar untuk buletin Anda. Nilai TRUE menunjukkan pelanggan telah mendaftar untuk buletin, dan nilai FALSE menunjukkan pelanggan belum mendaftar.

Namun, saat Anda menerbitkan laporan ke layanan Power BI, kolom status pendaftaran buletin menunjukkan 0 dan -1 alih-alih nilai yang diharapkan true atau FALSE. Langkah-langkah berikut menjelaskan bagaimana konversi ini terjadi, dan cara mencegahnya.

Kueri yang disederhanakan untuk tabel ini muncul dalam gambar berikut:

Screenshot that shows columns set to Boolean.

Tipe data kolom Berlangganan Buletin diatur ke Apa Pun, dan sebagai hasilnya, Power BI memuat data ke dalam model sebagai Teks.

Screenshot showing the data loaded into Power BI.

Saat Anda menambahkan visualisasi sederhana yang memperlihatkan informasi terperinci per pelanggan, data muncul di visual seperti yang diharapkan, baik di Power BI Desktop maupun saat diterbitkan ke layanan Power BI.

Screenshot of a visual that shows the data appearing as expected.

Namun, saat Anda me-refresh model semantik di layanan Power BI, kolom Berlangganan Buletin dalam visual menampilkan nilai sebagai -1 dan 0, alih-alih menampilkannya sebagai TRUE atau FALSE:

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Jika Anda menerbitkan ulang laporan dari Power BI Desktop, kolom Berlangganan Buletin lagi memperlihatkan TRUE atau FALSE seperti yang Anda harapkan, tetapi setelah refresh terjadi di layanan Power BI, nilai akan berubah lagi untuk menampilkan -1 dan 0.

Solusi untuk mencegah situasi ini adalah mengatur kolom Boolean apa pun untuk mengetik True/False di Power BI Desktop, dan menerbitkan ulang laporan Anda.

Screenshot of changing the data type of the column to True/False.

Saat Anda membuat perubahan, visualisasi memperlihatkan nilai di kolom Berlangganan Buletin sedikit berbeda. Alih-alih teks menjadi semua huruf kapital seperti yang dimasukkan dalam tabel, hanya huruf pertama yang dikapitalisasi. Perubahan ini adalah salah satu hasil dari mengubah jenis data kolom.

Screenshot of values appearing differently when you change the data type.

Setelah Anda mengubah jenis data, terbitkan ulang ke layanan Power BI, dan refresh terjadi, laporan menampilkan nilai sebagai True atau False, seperti yang diharapkan.

Screenshot that shows true or false values that use the True/false data type appear as expected after refresh.

Untuk meringkas, saat bekerja dengan data Boolean di Power BI, pastikan kolom Anda diatur ke tipe data True/False di Power BI Desktop.

Tipe kosong

Kosong adalah jenis data DAX yang mewakili dan menggantikan SQL null. Anda dapat membuat kosong dengan menggunakan fungsi BLANK, dan menguji untuk kosong dengan menggunakan fungsi logis ISBLANK.

Jenis Biner

Anda dapat menggunakan jenis data Biner untuk mewakili data apa pun dengan format biner. Di Editor Power Query, Anda bisa menggunakan tipe data ini saat memuat file biner jika Anda mengonversinya ke tipe data lain sebelum Memuatnya ke dalam model Power BI.

Kolom biner tidak didukung dalam model data Power BI. Pilihan Biner ada di menu Tampilan Data dan Tampilan Laporan karena alasan warisan, tetapi jika Anda mencoba memuat kolom biner ke model Power BI, Anda mungkin mengalami kesalahan.

Catatan

Jika kolom biner berada dalam output langkah-langkah kueri, mencoba merefresh data melalui gateway dapat menyebabkan kesalahan. Disarankan agar Anda secara eksplisit menghapus kolom biner apa pun sebagai langkah terakhir dalam kueri Anda.

Jenis tabel

DAX menggunakan jenis data tabel dalam banyak fungsi, seperti agregasi dan perhitungan inteligensi waktu. Beberapa fungsi memerlukan referensi ke tabel. Fungsi lain mengembalikan tabel yang kemudian dapat Anda gunakan sebagai input ke fungsi lain.

Dalam beberapa fungsi yang memerlukan tabel sebagai input, Anda dapat menentukan ekspresi yang mengevaluasi ke tabel. Beberapa fungsi memerlukan referensi ke tabel dasar. Untuk informasi tentang persyaratan fungsi tertentu, lihat Referensi Fungsi DAX.

Konversi jenis data implisit dan eksplisit

Setiap fungsi DAX memiliki persyaratan khusus untuk jenis data yang akan 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 jenis data yang diperlukan fungsi, DAX mungkin mengembalikan kesalahan. Namun, sedapat mungkin DAX mencoba mengonversi data secara implisit ke jenis data yang diperlukan.

Misalnya:

  • Jika Anda mengetik tanggal sebagai string, DAX mengurai string dan mencoba mentransmisikannya sebagai salah satu format tanggal dan waktu Windows.
  • Anda dapat menambahkan TRUE + 1 dan mendapatkan hasil 2, karena DAX secara implisit mengonversi TRUE ke angka 1, dan melakukan operasi 1+1.
  • Jika Anda menambahkan nilai dalam dua kolom dengan satu nilai yang dinyatakan sebagai teks ("12") dan yang lainnya sebagai angka (12), DAX secara implisit mengonversi string menjadi angka, lalu melakukan penambahan untuk hasil numerik. Ekspresi = "22" + 22 mengembalikan 44.
  • Jika Anda mencoba menggabungkan dua angka, DAX menyajikannya sebagai string, lalu menggabungkan. Ekspresi = 12 & 34 mengembalikan "1234".

Tabel konversi data implisit

Operator menentukan jenis konversi yang dilakukan DAX dengan mentransmisikan nilai yang diperlukan sebelum melakukan operasi yang diminta. Tabel berikut mencantumkan operator, dan konversi yang dilakukan DAX pada setiap jenis data saat dipasangkan dengan jenis data di sel yang bersinggungan.

Catatan

Tabel ini tidak menyertakan tipe data Teks . Saat angka diwakili dalam format teks, dalam beberapa kasus Power BI mencoba menentukan jenis angka dan mewakili data sebagai angka.

Tambahan (+)

INTEGER MATA UANG REAL Tanggal/Waktu
INTEGER INTEGER MATA UANG REAL Tanggal/Waktu
PENUKARAN VALUTA ASING MATA UANG MATA UANG REAL Tanggal/Waktu
NYATA REAL REAL REAL Tanggal/Waktu
Tanggal/waktu Tanggal/Waktu Tanggal/Waktu Tanggal/Waktu Tanggal/Waktu

Misalnya, jika operasi penambahan menggunakan angka riil dalam kombinasi dengan data mata uang, DAX mengonversi kedua nilai menjadi REAL dan mengembalikan hasilnya sebagai NYATA.

Pengurangan (-)

Dalam tabel berikut, header baris adalah minuend (sisi kiri) dan header kolom adalah subtrahend (sisi kanan).

INTEGER MATA UANG REAL Tanggal/Waktu
INTEGER INTEGER MATA UANG REAL REAL
PENUKARAN VALUTA ASING MATA UANG MATA UANG REAL REAL
NYATA REAL REAL REAL REAL
Tanggal/waktu Tanggal/Waktu Tanggal/Waktu Tanggal/Waktu Tanggal/Waktu

Misalnya, jika operasi pengurangan menggunakan tanggal dengan jenis data lainnya, DAX mengonversi kedua nilai menjadi tanggal, dan nilai yang dikembalikan juga merupakan tanggal.

Catatan

Model data mendukung operator unary, - (negatif), tetapi operator ini tidak mengubah jenis data operand.

Perkalian (*)

INTEGER MATA UANG REAL Tanggal/Waktu
INTEGER INTEGER MATA UANG REAL INTEGER
PENUKARAN VALUTA ASING MATA UANG REAL MATA UANG MATA UANG
NYATA REAL MATA UANG REAL REAL

Misalnya, jika operasi perkalian menggabungkan bilangan bulat dengan bilangan bulat, DAX mengonversi kedua angka menjadi angka riil, dan nilai yang dikembalikan juga NYATA.

Pembagian (/)

Dalam tabel berikut, header baris adalah pembius dan header kolom adalah penyebar.

INTEGER MATA UANG REAL Tanggal/Waktu
INTEGER REAL MATA UANG REAL REAL
PENUKARAN VALUTA ASING MATA UANG REAL MATA UANG REAL
NYATA REAL REAL REAL REAL
Tanggal/waktu REAL REAL REAL REAL

Misalnya, jika operasi pembagian menggabungkan bilangan bulat dengan nilai mata uang, DAX mengonversi kedua nilai menjadi angka riil, dan hasilnya juga merupakan angka riil.

Operator perbandingan

Dalam ekspresi perbandingan, DAX menganggap nilai Boolean lebih besar dari nilai string, dan nilai string yang lebih besar dari nilai numerik atau tanggal/waktu. Angka dan nilai tanggal/waktu memiliki peringkat yang sama.

DAX tidak melakukan konversi implisit untuk nilai Boolean atau string. BLANK atau nilai kosong dikonversi ke 0, "", atau False, tergantung pada jenis data dari nilai lain yang dibandingkan.

Ekspresi DAX berikut mengilustrasikan perilaku ini:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") mengembalikan "Ekspresi adalah true".

  • =IF("12">12,"Expression is true", "Expression is false") mengembalikan "Ekspresi adalah true".

  • =IF("12"=12,"Expression is true", "Expression is false") mengembalikan "Ekspresi adalah false".

DAX melakukan konversi implisit untuk jenis numerik atau tanggal/waktu seperti yang dijelaskan tabel berikut:

Perbandingan
Operator
INTEGER MATA UANG REAL Tanggal/Waktu
INTEGER INTEGER MATA UANG REAL REAL
PENUKARAN VALUTA ASING MATA UANG MATA UANG REAL REAL
NYATA REAL REAL REAL REAL
Tanggal/waktu REAL REAL REAL Tanggal/Waktu

Nilai kosong, string kosong, dan nol

DAX mewakili nilai kosong, kosong, sel kosong, atau nilai yang hilang dengan jenis nilai baru yang sama, BLANK. Anda juga dapat menghasilkan kosong dengan menggunakan fungsi BLANK, atau menguji kosong dengan menggunakan fungsi ISBLANK.

Bagaimana operasi seperti penambahan atau gagang penggandaan kosong tergantung pada fungsi individual. Tabel berikut ini meringkas perbedaan antara cara rumus DAX dan Microsoft Excel menangani kosong.

Expression DAX Excel
BLANK + BLANK BLANK 0 (nol)
BLANK + 5 5 5
KOSONG * 5 BLANK 0 (nol)
5/BLANK Tak terbatas Error
0/BLANK NaN Error
BLANK/BLANK BLANK Error
SALAH ATAU KOSONG SALAH SALAH
SALAH ATAU KOSONG SALAH SALAH
BENAR ATAU KOSONG BENAR BENAR
BENAR DAN KOSONG SALAH BENAR
KOSONG ATAU KOSONG BLANK Error
KOSONG DAN KOSONG BLANK Error

Anda dapat melakukan semua hal dengan Power BI Desktop dan data. Untuk informasi selengkapnya tentang kapabilitas Power BI, lihat sumber daya berikut ini: