Data Analysis Expressions (DAX) di Power Pivot

Data Analysis Expressions (DAX) di Power Pivot

Data Analysis Expressions (DAX) terdengar sedikit menakutkan pada awalnya, tapi jangan biarkan nama menipu Anda. Dasar-dasar DAX sangat mudah dipahami. Hal pertama-DAX bukan bahasa pemrograman. DAX adalah bahasa rumus. Anda bisa menggunakan DAX untuk menentukan perhitungan kustom untuk kolom terhitung dan untuk pengukuran (juga dikenal sebagai bidang terhitung). DAX menyertakan beberapa fungsi yang digunakan dalam rumus Excel, dan fungsi tambahan yang dirancang untuk bekerja dengan data relasional dan melakukan agregasi dinamis.

Memahami rumus DAX

Rumus DAX sangat mirip dengan rumus Excel. Untuk membuatnya, ketikkan tanda sama dengan, diikuti dengan nama fungsi atau ekspresi, serta setiap nilai atau argumen yang diperlukan. Seperti Excel, DAX menyediakan berbagai fungsi yang bisa Anda gunakan untuk bekerja dengan string, melakukan perhitungan menggunakan tanggal dan waktu, atau membuat nilai bersyarat.

Namun, rumus DAX berbeda dalam cara penting berikut ini:

  • Jika Anda ingin mengkustomisasi penghitungan berdasarkan baris demi baris, DAX menyertakan fungsi yang memungkinkan Anda menggunakan nilai baris saat ini atau nilai terkait untuk melakukan penghitungan yang berbeda-beda menurut konteks.

  • DAX menyertakan tipe fungsi yang mengembalikan tabel sebagai hasilnya, bukan nilai tunggal. Fungsi ini bisa digunakan untuk menyediakan input ke fungsi lainnya.

  • Fungsi kecerdasan waktudi Dax memperbolehkan penghitungan menggunakan rentang tanggal, dan membandingkan hasilnya di seluruh periode paralel.

Tempat untuk menggunakan rumus DAX

Anda dapat membuat rumus di Power Pivot baik diolumnsc terhitungatau terhitung di bidang f.

Kolom terhitung

Kolom terhitung adalah kolom yang Anda tambahkan ke tabel Power Pivot yang sudah ada. Sebagai ganti menempelkan atau mengimpor nilai dalam kolom, Anda membuat rumus DAX yang menentukan nilai kolom. Jika Anda menyertakan tabel Power Pivot dalam PivotTable (atau PivotChart), kolom terhitung dapat digunakan sebagai kolom data lainnya.

Rumus dalam kolom terhitung sama seperti rumus yang Anda buat di Excel. Tidak seperti di Excel, namun, Anda tidak bisa membuat rumus berbeda untuk baris yang berbeda dalam tabel; sebagai gantinya, rumus DAX otomatis diterapkan ke seluruh kolom.

Saat kolom berisi rumus, nilai dihitung untuk setiap baris. Hasil dihitung untuk kolom segera setelah Anda membuat rumus. Nilai kolom hanya dihitung ulang jika data yang mendasari refresh atau jika penghitungan ulang manual digunakan.

Anda dapat membuat kolom terhitung yang didasarkan pada ukuran dan kolom terhitung lainnya. Namun, hindari penggunaan nama yang sama untuk kolom terhitung dan pengukuran, karena hal ini dapat menyebabkan hasil yang membingungkan. Saat mengacu ke kolom, lebih baik menggunakan referensi kolom yang memenuhi syarat, untuk menghindari cara membatalkan secara tidak sengaja.

Untuk informasi yang lebih mendetail, lihat kolom terhitung diPowerPivot.

Kah

Pengukuran adalah rumus yang dibuat secara khusus untuk digunakan dalam PivotTable (atau PivotChart) yang menggunakan data Power Pivot . Pengukuran dapat didasarkan pada fungsi agregasi standar, seperti COUNT atau SUM, atau Anda bisa menentukan rumus Anda sendiri dengan menggunakan DAX. Pengukuran digunakan di area nilai PivotTable. Jika Anda ingin menempatkan hasil terhitung di area yang berbeda dari PivotTable, gunakan kolom terhitung sebagai gantinya.

Saat Anda menentukan rumus untuk pengukuran eksplisit, tidak ada yang terjadi hingga Anda menambahkan pengukuran ke dalam PivotTable. Saat Anda menambahkan pengukuran, rumus dievaluasi untuk setiap sel di area nilai PivotTable. Karena hasil dibuat untuk setiap kombinasi header baris dan kolom, hasil untuk pengukuran bisa berbeda di setiap sel.

Definisi ukuran yang Anda buat disimpan dengan tabel data sumbernya. Muncul dalam daftar bidang PivotTable dan tersedia untuk semua pengguna buku kerja.

Untuk informasi yang lebih mendetail, lihat pengukuran di Power Pivot.

Membuat rumus dengan menggunakan bilah rumus

Power Pivot, seperti Excel, menyediakan bilah rumus untuk memudahkan pembuatan dan pengeditan rumus, dan fungsionalitas Lengkapiotomatis, untuk meminimalkan kesalahan pengetikan dan sintaks.

Untuk memasukkan nama tabel   Mulai ketikkan nama tabel. Rumus AutoComplete menyediakan daftar turun bawah yang berisi nama valid yang dimulai dengan huruf tersebut.

Untuk memasukkan nama kolom   Ketikkan tanda kurung, lalu pilih kolom dari daftar kolom di tabel saat ini. Untuk kolom dari tabel lain, mulailah mengetik huruf pertama dari nama tabel, lalu pilih kolom dari daftar menurun AutoComplete.

Untuk detail selengkapnya dan panduan tentang cara menyusun rumus, lihat membuat rumus untuk penghitungan di Power Pivot.

Tips untuk menggunakan AutoComplete

Anda bisa menggunakan rumus lengkapidi tengah rumus yang sudah ada dengan fungsi bertumpuk. Teks tepat sebelum titik penyisipan digunakan untuk menampilkan nilai dalam daftar turun bawah, dan semua teks setelah titik penyisipan tetap tidak berubah.

Nama yang ditentukan yang Anda buat untuk konstanta tidak ditampilkan dalam daftar menurun AutoComplete, tapi Anda masih bisa mengetiknya.

Power Pivot tidak menambahkan tanda kurung tutup fungsi atau secara otomatis cocok dengan tanda kurung. Anda harus memastikan bahwa setiap fungsi secara sintaksis benar atau Anda tidak bisa menyimpan atau menggunakan rumus. 

Menggunakan beberapa fungsi dalam rumus

Anda bisa menggabungkan fungsi, yang berarti bahwa Anda menggunakan hasil dari satu fungsi sebagai argumen fungsi lainnya. Anda bisa mengumpulkan hingga 64 tingkat fungsi dalam kolom terhitung. Namun, bersarang bisa menyulitkan pembuatan atau pemecahan masalah rumus.

Banyak fungsi DAX yang didesain untuk digunakan semata-mata sebagai fungsi bertumpuk. Fungsi ini mengembalikan tabel, yang tidak bisa langsung disimpan sebagai hasilnya; ini harus disediakan sebagai input ke fungsi Table. Misalnya, fungsi SUMX, AVERAGEX, dan MINX semua memerlukan tabel sebagai argumen pertama.

Catatan: Beberapa batasan pada penumpukan fungsi ada dalam ukuran, untuk memastikan bahwa kinerja tidak terpengaruh oleh banyak perhitungan yang diperlukan oleh dependensi di antara kolom.

Membandingkan fungsi DAX dan fungsi Excel

Pustaka fungsi DAX didasarkan pada pustaka fungsi Excel, tetapi pustaka memiliki banyak perbedaan. Bagian ini meringkas perbedaan dan persamaan antara fungsi Excel dan fungsi DAX.

  • Banyak fungsi DAX yang memiliki nama yang sama dan perilaku umum yang sama seperti fungsi Excel tetapi telah dimodifikasi untuk mengambil tipe input yang berbeda, dan dalam beberapa kasus, mungkin mengembalikan tipe data yang berbeda. Secara umum, Anda tidak bisa menggunakan fungsi DAX dalam rumus Excel atau menggunakan rumus Excel di Power Pivot tanpa beberapa modifikasi.

  • Fungsi DAX tidak pernah membawa referensi sel atau rentang sebagai referensi, tetapi fungsi DAX sebagai referensi memerlukan kolom atau tabel sebagai referensi.

  • Fungsi tanggal dan waktu DAX mengembalikan tipe data datetime. Sebaliknya, fungsi tanggal dan waktu Excel mengembalikan bilangan bulat yang mewakili tanggal sebagai nomor seri.

  • Banyak fungsi DAX baru yang mengembalikan tabel nilai atau membuat perhitungan berdasarkan tabel nilai sebagai input. Sebaliknya, Excel tidak memiliki fungsi yang mengembalikan tabel, namun beberapa fungsi bisa berfungsi dengan array. Kemampuan untuk referensi tabel dan kolom lengkap dengan mudah adalah fitur baru di Power Pivot.

  • DAX menyediakan fungsi pencarian baru yang mirip dengan fungsi array dan pencarian vektor di Excel. Namun, fungsi DAX mengharuskan hubungan terjalin antara tabel.

  • Data dalam kolom diharapkan selalu terdiri dari tipe data yang sama. Jika data bukan tipe yang sama, DAX mengubah seluruh kolom ke tipe data yang paling baik mengakomodasi semua nilai.

Tipe data DAX

Anda dapat mengimpor data ke dalam model data Power Pivot dari berbagai sumber data yang mungkin mendukung tipe data yang berbeda. Saat Anda mengimpor atau memuat data, lalu menggunakan data dalam penghitungan atau di PivotTable, data dikonversi ke salah satu tipe data Power Pivot . Untuk daftar tipe data, lihat tipe data dalam model data.

Tipe data tabel adalah tipe data baru di DAX yang digunakan sebagai input atau output ke banyak fungsi baru. Misalnya, fungsi FILTER mengambil tabel sebagai input dan output tabel lain yang hanya berisi baris yang memenuhi kondisi filter. Dengan menggabungkan fungsi tabel dengan fungsi agregasi, Anda bisa melakukan perhitungan kompleks pada kumpulan data yang ditentukan secara dinamis. Untuk informasi selengkapnya, lihat agregasi di Power Pivot.

Rumus dan model relasional

Jendela Power Pivotadalah area tempat Anda dapat bekerja dengan beberapa tabel data dan menyambungkan tabel dalam model relasional. Dalam model data ini, tabel tersambung satu sama lain menurut hubungan, yang memungkinkan Anda membuat korelasi dengan kolom di tabel lain dan membuat perhitungan yang lebih menarik. Misalnya, Anda bisa membuat rumus yang menjumlahkan nilai untuk tabel terkait lalu menyimpan nilai tersebut dalam satu sel. Atau, untuk mengontrol baris dari tabel terkait, Anda bisa menerapkan filter ke tabel dan kolom. Untuk informasi selengkapnya, lihat hubungan antar tabel dalam model data.

Karena Anda bisa menautkan tabel dengan menggunakan hubungan, PivotTable Anda juga bisa menyertakan data dari beberapa kolom yang berasal dari tabel yang berbeda.

Namun, karena rumus dapat bekerja dengan seluruh tabel dan kolom, Anda perlu mendesain penghitungan berbeda dengan yang Anda lakukan di Excel.

  • Secara umum, rumus DAX dalam kolom selalu diterapkan ke seluruh kumpulan nilai dalam kolom (tidak pernah hanya untuk beberapa baris atau sel).

  • Tabel di Power Pivot harus selalu memiliki jumlah kolom yang sama dalam setiap baris, dan semua baris dalam kolom harus berisi tipe data yang sama.

  • Saat tabel tersambung dengan hubungan, Anda diharapkan untuk memastikan bahwa dua kolom yang digunakan sebagai tombol memiliki nilai yang cocok, untuk sebagian besar. Karena Power Pivot tidak memaksakan integritas referensial, maka dimungkinkan untuk memiliki nilai yang tidak cocok dalam kolom kunci dan masih membuat hubungan. Namun, kehadiran nilai yang kosong atau tidak cocok mungkin mempengaruhi hasil rumus dan tampilan PivotTable. Untuk informasi selengkapnya, lihat pencarian dalam rumus Power Pivot.

  • Saat Anda menautkan tabel dengan menggunakan hubungan, Anda memperbesar lingkup, atau context di mana rumus Anda dievaluasi. Misalnya, rumus dalam PivotTable dapat dipengaruhi oleh setiap judul filter atau kolom dan baris di PivotTable. Anda bisa menulis rumus yang memanipulasi konteks, tapi konteks juga bisa menyebabkan hasil Anda berubah dengan cara yang mungkin tidak Anda antisipasi. Untuk informasi selengkapnya, lihat konteks dalam rumus Dax.

Memperbarui hasil rumus

Data r efresh dan penghitungan ulang adalah dua operasi terpisah namun terkait yang perlu Anda pahami saat mendesain model data yang berisi rumus kompleks, data dalam jumlah besar, atau data yang Diperoleh dari sumber data eksternal.

Refresh data adalah proses memperbarui data dalam buku kerja Anda dengan data baru dari sumber data eksternal. Anda bisa melakukan refresh data secara manual dengan interval yang Anda tentukan. Atau, jika Anda telah menerbitkan buku kerja ke situs SharePoint, Anda bisa menjadwalkan refresh otomatis dari sumber eksternal.

Penghitungan ulang adalah proses memperbarui hasil rumus untuk mencerminkan perubahan apa pun pada rumus dan untuk mencerminkan perubahan tersebut dalam data yang mendasari. Penghitungan ulang dapat mempengaruhi kinerja dengan cara berikut:

  • Untuk kolom terhitung, hasil rumus harus selalu dihitung ulang untuk seluruh kolom, setiap kali Anda mengubah rumus.

  • Untuk pengukuran, hasil rumus tidak dihitung hingga pengukuran ditempatkan dalam konteks PivotTable atau PivotChart. Rumus juga akan dihitung ulang saat Anda mengubah judul baris atau kolom yang mempengaruhi filter pada data atau saat Anda secara manual me-refresh PivotTable.

Memecahkan masalah rumus

Kesalahan saat menulis rumus

Jika Anda mendapatkan kesalahan saat menentukan rumus, rumus mungkin berisi kesalahan sintaksis, kesalahan semantik, atau kesalahan perhitungan.

Kesalahan sintaksis adalah yang paling mudah diatasi. Mereka biasanya melibatkan tanda kurung atau koma yang hilang. Untuk bantuan dengan sintaks fungsi individual, lihat referensi fungsi DAX.

Tipe kesalahan lainnya terjadi ketika sintaks sudah benar, tapi nilai atau kolom yang direferensikan tidak masuk akal dalam konteks rumus. Kesalahan semantik dan perhitungan tersebut mungkin disebabkan oleh masalah berikut ini:

  • Rumus merujuk ke kolom, tabel, atau fungsi yang tidak ada.

  • Rumus tampaknya sudah benar, namun ketika mesin data mengambil data, ia menemukan tipe ketidakcocokan, dan menimbulkan kesalahan.

  • Rumus melewati angka atau tipe parameter yang salah untuk fungsi.

  • Rumus merujuk ke kolom berbeda yang memiliki kesalahan, dan karenanya nilainya tidak valid.

  • Rumus mengacu ke kolom yang belum diproses, artinya memiliki metadata tetapi tidak ada data aktual yang digunakan untuk penghitungan.

Dalam empat kasus pertama, bendera DAX seluruh kolom yang berisi rumus yang tidak valid. Dalam kasus terakhir, DAX membersihkan kolom untuk mengindikasikan bahwa kolom berada dalam status belum diproses.

Hasil yang tidak benar atau tidak biasa saat memberi peringkat atau mengurutkan nilai kolom

Saat memberi peringkat atau mengurutkan kolom yang berisi nilai NaN (bukan angka), Anda mungkin mendapatkan hasil yang salah atau tidak terduga. Misalnya, ketika perhitungan membagi 0 dengan 0, hasil NaN dikembalikan.

Ini karena mesin rumus melakukan pengurutan dan peringkat dengan membandingkan nilai numerik; Namun, NaN tidak dapat dibandingkan dengan nomor lain dalam kolom.

Untuk memastikan hasil yang benar, Anda bisa menggunakan pernyataan bersyarat menggunakan fungsi IF untuk menguji Nilai NaN dan mengembalikan nilai numerik 0.

Kompatibilitas dengan model tabular Analysis Services dan mode DirectQuery

Secara umum, rumus DAX yang Anda buat di Power Pivot sepenuhnya kompatibel dengan model tabular Analysis Services. Namun, jika Anda melakukan migrasi model Power Pivot Anda ke contoh Analysis Services, lalu menyebarkan model dalam mode DirectQuery, ada beberapa keterbatasan.

  • Beberapa rumus DAX mungkin mengembalikan hasil berbeda jika Anda menggunakan model dalam mode DirectQuery.

  • Beberapa rumus mungkin menyebabkan kesalahan validasi saat Anda menggunakan model ke mode DirectQuery, karena rumus berisi fungsi DAX yang tidak didukung terhadap sumber data relasional.

Untuk informasi selengkapnya, lihat dokumentasi model tabular Analysis Services di SQL Server 2012 BooksOnline.

Catatan:  Halaman ini diterjemahkan menggunakan mesin dan mungkin terdapat kesalahan tata bahasa atau masalah keakuratan. Kami bertujuan menyediakan konten yang bermanfaat untuk Anda. Dapatkah Anda memberi tahu kami apakah informasi ini bermanfaat untuk Anda? Berikut adalah artikel dalam bahasa Inggris untuk referensi.

Perlu bantuan lainnya?

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×