Acara
Bergabunglah dengan kami di FabCon Vegas
31 Mar, 23 - 2 Apr, 23
Acara utama yang dipimpin komunitas Microsoft Fabric, Power BI, SQL, dan AI. 31 Maret hingga 2 April 2025.
Daftar hari iniBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Artikel ini menguraikan persyaratan sintaks and untuk bahasa ekspresi rumus DAX.
Rumus DAX selalu dimulai dengan sign yang sama (=
). Setelah tanda sama dengan sign, Anda dapat memberikan ekspresi apa pun yang dievaluasi menjadi skalar, or ekspresi yang dapat dikonversi menjadi skalar. Ini termasuk yang berikut ini:
Konstanta skalar, ekspresi or yang menggunakan operator skalar (+,-,*,/,>=,...,&&, ...
)
Referensi ke kolom or tabel. Bahasa DAX selalu menggunakan kolom tabel and sebagai input untuk fungsi, tidak pernah kumpulan valuesarbitrer array or.
Operator, konstanta, andvalues disediakan sebagai bagian dari ekspresi.
Hasil dari fungsi and beserta argumen-argumen yang dibutuhkannya. Beberapa fungsi DAX mengembalikan tabel alih-alih skalar, and harus dibungkus dalam fungsi yang mengevaluasi tabel and mengembalikan skalar; kecuali tabel adalah kolom tunggal, tabel baris tunggal, maka tabel tersebut diperlakukan sebagai skalar value.
Sebagian besar fungsi DAX memerlukan satu or lebih banyak argumen, yang dapat mencakup tabel, kolom, ekspresi, andvalues. Namun, beberapa fungsi, seperti PI, not memerlukan argumen apa pun, tetapi selalu memerlukan tanda kurung untuk menunjukkan argumen null. Misalnya, Anda harus selalu mengetik PI(), notPI. Anda juga dapat menumpuk fungsi dalam fungsi lain.
Ekspresi. Ekspresi dapat berisi orall apa pun berikut ini: operator, konstanta, or referensi ke kolom.
Misalnya, berikut ini adalah rumus-rumus yang valid all.
Rumus | Hasil |
---|---|
= 3 |
3 |
= "Sales" |
Penjualan |
= 'Sales'[Amount] |
If Anda menggunakan rumus ini dalam tabel Penjualan, Anda akan mendapatkan value kolom Jumlah dalam tabel Penjualan untuk baris saat ini. |
= (0.03 *[Amount]) =0.03 * [Amount] |
Tiga persen dari value pada kolom Jumlah di tabel saat ini. Meskipun rumus ini dapat digunakan untuk calculate persentase, hasilnya not ditampilkan sebagai persentase kecuali Anda menerapkan pemformatan dalam tabel. |
= PI() |
value dari konstanta pi. |
Rumus dapat bersifat berbeda tergantung pada cara penggunaannya. Anda harus selalu menyadari konteks and bagaimana data yang Anda gunakan dalam rumus berhubungan dengan related data lain yang mungkin digunakan dalam perhitungan.
Model data sering kali contains beberapa tabel. Bersama dengan tabel and dan kolomnya, semua ini membentuk sebuah database yang disimpan di mesin analitik dalam-memori (VertiPaq). Dalam database tersebut, tabel all harus memiliki nama yang unik. Nama kolom juga harus unik dalam setiap tabel. nama objek Allpeka huruf besar/kecil; misalnya, nama SALESandSales akan mewakili tabel yang sama.
Setiap kolom andmeasure Anda tambahkan ke model data yang ada harus termasuk dalam tabel tertentu. Anda menentukan tabel yang contains kolom secara implisit, saat Anda membuat kolom terhitung dalam tabel, or secara eksplisit, saat Anda membuat measureand menentukan nama tabel tempat definisi measure harus disimpan.
Saat Anda menggunakan kolom or tabel sebagai input ke fungsi, Anda umumnya harus memenuhi syarat nama kolom. Nama lengkap kolom
Sebagai argumen untuk fungsi , VALUES
Sebagai argumen untuk fungsi, ALL
orALLEXCEPT
Dalam argumen filter untuk fungsi, CALCULATE
orCALCULATETABLE
Sebagai argumen untuk fungsi , RELATEDTABLE
Sebagai argumen untuk fungsi kecerdasan time apa pun
Nama kolom yang tidak memenuhi syarat
If nama tabel contains spasi, kata kunci cadangan, or karakter yang tidak diizinkan, Anda harus mengapit nama tabel dalam tanda kutip tunggal. Anda juga harus mengapit nama tabel dalam tanda kutip if nama contains karakter apa pun di luar karakter alfanumerik ANSI range, terlepas dari apakah lokal Anda mendukung kumpulan karakter ornot. Misalnya, if Anda membuka buku kerja dengan contains nama tabel yang ditulis dalam karakter Sirilik, seperti 'Таблица', nama tabel harus diapit dalam tanda kutip, even meskipun mengandung not spasi.
Catatan
Untuk mempermudah memasukkan nama kolom yang sepenuhnya memenuhi syarat, gunakan fitur LengkapiOtomatis di editor rumus.
Nama tabel diperlukan setiap kali kolom berasal dari tabel yang berbeda dari tabel saat ini. Nama tabel harus unik dalam database.
Nama tabel harus diapit dalam tanda kutip tunggal if berisi spasi, karakter khusus lainnya or karakter alfanumerik non-Bahasa Inggris.
Measure nama harus selalu dalam tanda kurung.
nama Measure dapat berisi spasi.
Setiap nama measure harus unik dalam model. Oleh karena itu, nama tabel bersifat opsional di depan nama measure saat mereferensikan measureyang ada. Namun, saat membuat measure, Anda harus selalu menentukan tabel tempat definisi measure akan disimpan.
Nama kolom harus unik dalam konteks tabel; namun, beberapa tabel dapat memiliki kolom dengan nama yang sama (disambiguasi dilengkapi dengan nama tabel).
Secara umum, kolom dapat dirujuk tanpa perlu menyebutkan tabel dasar tempatnya berada, except terutama jika ada konflik nama yang harus diselesaikan or dengan fungsi tertentu yang mengharuskan nama kolom disebutkan lengkap.
If nama yang Anda gunakan untuk tabel sama dengan kata kunci yang dipesan Analysis Services, error dinaikkan, and Anda harus mengganti nama tabel. Namun, Anda dapat menggunakan kata kunci dalam nama objek if nama objek diapit dalam tanda kurung siku (untuk kolom) or tanda kutip (untuk tabel).
Catatan
Tanda kutip dapat diwakili oleh beberapa karakter yang berbeda, tergantung pada aplikasi. If Jika Anda menempelkan rumus dari dokumen eksternal or halaman Web, pastikan untuk memeriksa kode ASCII dari karakter yang digunakan untuk tanda kutip pembuka dan penutup and agar memastikan bahwa keduanya sama. Jika tidak, DAX mungkin tidak dapat mengenali simbol sebagai tanda kutip, membuat referensi tidak valid.
Karakter berikut and adalah jenis karakter yang not diperbolehkan dalam nama tabel, kolom, or ukuran:
Spasi awal or spasi akhir; kecuali spasi diapit oleh pemisah nama, tanda kurung, or apostrof tunggal.
Karakter kontrol
Karakter berikut yang not valid dalam nama objek:
.,;':/\\*|?&%$!+=()[]{}<>
Tabel berikut ini memperlihatkan contoh beberapa nama objek:
Tipe Objek | Contoh | Komentar |
---|---|---|
Nama tabel | Penjualan | If apabila nama tabel not mengandung spasi or atau karakter khusus lainnya, maka nama tersebut not perlu diapit dalam tanda kutip. |
Nama tabel | 'Penjualan Kanada' | If nama contains spasi, tab or karakter khusus lainnya, sertakan nama dalam tanda kutip tunggal. |
Nama kolom yang sepenuhnya memenuhi syarat | Sales[Amount] | Nama tabel mendahului nama kolom, and nama kolom diapit dalam tanda kurung siku [ ]. |
Nama measure yang sepenuhnya memenuhi syarat | Sales[Profit] | Nama tabel mendahului nama measure, and, nama measure di dalam tanda kurung siku. Dalam konteks tertentu, nama yang sepenuhnya memenuhi syarat selalu diperlukan. |
Nama kolom yang tidak memenuhi syarat | [Jumlah] | Nama yang tidak memenuhi syarat hanyalah nama kolom, dalam tanda kurung siku. Konteks di mana Anda bisa menggunakan nama yang tidak memenuhi syarat termasuk rumus dalam kolom terhitung dalam tabel yang sama, or dalam fungsi agregasi yang memindai tabel yang sama. |
Kolom yang sepenuhnya memenuhi syarat dalam tabel dengan spasi | 'Penjualan Kanada'[Jumlah] | Nama tabel contains mengandung spasi, sehingga harus dimulai dan diakhiri dengan tanda kutip tunggal. |
Sintaks yang diperlukan untuk setiap fungsi, and jenis operasi yang dapat dilakukannya, sangat bervariasi tergantung pada fungsinya. Namun, secara umum, aturan berikut berlaku untuk all rumus and ekspresi:
DAX rumus and ekspresi tidak dapat mengubah or menyisipkan values individual dalam tabel.
Anda tidak dapat membuat baris kalkulasi dengan menggunakan DAX. Anda hanya dapat membuat kolom terhitung and ukuran.
Saat menentukan kolom terhitung, Anda dapat menggandengkan fungsi ke tingkat apa pun.
DAX memiliki beberapa fungsi yang mengembalikan tabel. Biasanya, Anda menggunakan values yang dikembalikan oleh fungsi-fungsi ini sebagai input ke fungsi lain, yang memerlukan tabel sebagai input.
Tabel berikut mencantumkan operator yang didukung oleh DAX. Untuk informasi selengkapnya tentang sintaks operator individual, lihat operator DAX.
Jenis operator | Penggunaan simbol and |
---|---|
Operator dengan tanda kurung | urutan prioritas () dan and pengelompokan argumen |
Operator aritmatika |
+ (tambahan)- (pengurangan)* (perkalian)/ (divisi)^ (eksponensial) |
Operator perbandingan |
= (sama dengan)> (lebih besar dari)< (kurang dari)>= (lebih besar dari or sama dengan)<= (kurang dari or sama dengan)<> (not sama dengan) |
Operator penggabungan teks |
& (perangkaian) |
Operator logika |
&& (and)|| (or) |
Anda not perlu melakukan casting, convert, or atau tentukan jenis data dari sebuah kolom orvalue yang Anda gunakan dalam rumus DAX. Saat Anda menggunakan data dalam rumus DAX, DAX secara otomatis mengidentifikasi jenis data dalam kolom yang dirujuk andvalues yang Anda ketik, and melakukan konversi implisit jika perlu untuk menyelesaikan operasi yang ditentukan.
Misalnya, if Anda mencoba menambahkan angka ke datevalue, mesin akan menginterpretasikan operasi dalam konteks fungsi, andconvert angka ke jenis data umum, and kemudian menyajikan hasilnya dalam formatyang dimaksudkan , date.
Namun, ada beberapa batasan pada values yang dapat berhasil dikonversi. If value or kolom memiliki jenis data yang tidak kompatibel dengan operasi saat ini, DAX mengembalikan error. Selain itu, DAXnot menyediakan fungsi yang memungkinkan Anda secara eksplisit mengubah, convert, or mentransmisikan jenis data yang ada yang telah Anda impor ke dalam model data.
Penting
Apakah DAX dan not mendukung penggunaan jenis data varian. Oleh karena itu, ketika Anda memuat data impor or ke dalam model data, diharapkan bahwa data di setiap kolom umumnya memiliki jenis data yang konsisten.
Beberapa fungsi mengembalikan skalar values, termasuk string, sedangkan fungsi lain bekerja dengan angka, kedua bilangan bulat and bilangan riil, tanggal orand kali. Jenis data yang diperlukan untuk setiap fungsi dijelaskan di bagian , DAX fungsi.
Anda bisa menggunakan tabel yang berisi beberapa kolom and beberapa baris data sebagai argumen ke fungsi. Beberapa fungsi juga mengembalikan tabel, yang disimpan dalam memori and dapat digunakan sebagai argumen ke fungsi lain.
DAX menyimpan dateandtimevalues menggunakan jenis data tanggalwaktu yang digunakan oleh Microsoft SQL Server. Datetime format menggunakan angka floating-point di mana Datevalues sesuai dengan bagian bilangan bulat yang menunjukkan jumlah hari sejak 30 Desember 1899. Time values sesuai dengan bagian desimal datevalue di mana Jam, menit, and detik diwakili oleh pecahan desimal day. DAX date and time fungsi secara implisit convert argumen ke jenis data datetime.
Catatan
exact maksimum DateTime value yang didukung oleh DAX adalah 31 Desember 9999 00:00:00.
Dimulai dengan versi Agustus 2021 dari Power BI Desktop, DAXdateand tanggalwaktu values dapat ditentukan sebagai harfiah dalam formatdt"YYYY-MM-DD"
, dt"YYYY-MM-DDThh:mm:ss"
, ordt"YYYY-MM-DD hh:mm:ss"
. Ketika ditentukan sebagai harfiah, penggunaan fungsi DATE, TIME, DATEVALUE, TIMEVALUE dalam ekspresi not diperlukan.
Misalnya, ekspresi berikut menggunakan fungsi DATEandTIME untuk filter pada OrderDate:
EVALUATE
FILTER (
FactInternetSales,
[OrderDate] > (DATE(2015,1,9) + TIME(2,30,0)) &&[OrderDate] < (DATE(2015,12,31) + TIME(11,59,59))
)
Ekspresi filter yang sama dapat ditentukan sebagai harfiah:
EVALUATE
FILTER (
FactInternetSales,
[OrderDate] > dt"2015-1-9T02:30:00" && [OrderDate] < dt"2015-12-31T11:59:59"
)
Catatan
Literal DAXdateand bertipe tanggal-waktu formatnot didukung dalam versi all dari Power BI Desktop, Analysis Services, andPower Pivot di Excel. Fungsionalitas DAX baru yang diperbarui and biasanya first diperkenalkan di and Desktop BI Power kemudian disertakan dalam Analysis Services andPower Pivot di Excel.
Acara
Bergabunglah dengan kami di FabCon Vegas
31 Mar, 23 - 2 Apr, 23
Acara utama yang dipimpin komunitas Microsoft Fabric, Power BI, SQL, dan AI. 31 Maret hingga 2 April 2025.
Daftar hari iniPelatihan
Jalur pembelajaran
Menggunakan DAX di Power BI Desktop - Training
Jalur pembelajaran ini memperkenalkan Data Analysis Expressions (DAX) dan memberi Anda keterampilan dasar yang diperlukan untuk meningkatkan model semantik dengan perhitungan. Jalur pembelajaran ini dimulai dengan menjelaskan model Power BI Desktop dan bagaimana cara meningkatkannya dengan perhitungan DAX. Kemudian menjelaskan bagaimana Anda dapat menulis rumus DAX dan berbagai jenis model perhitungan, termasuk ukuran, dan tabel serta kolom terhitung. Konteks evaluasi akan diperkenalkan, dan pelajaran selan
Sertifikasi
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Menunjukkan metode dan praktik terbaik yang selaras dengan persyaratan bisnis dan teknis untuk pemodelan, visualisasi, dan analisis data dengan Microsoft Power BI.