Mulai Cepat ini ditujukan bagi pengguna yang baru Power Pivot di Excel atau proyek model tabular yang ditulis di Alat Data SQL Server. Ini dimaksudkan untuk memberi Anda pengenalan yang cepat dan mudah tentang bagaimana Anda bisa menggunakan Data Analysis Expressions (DAX) untuk menyelesaikan sejumlah pemodelan data dasar dan masalah analitik. Topik ini mencakup informasi konseptual, serangkaian tugas yang bisa Anda selesaikan, dan beberapa kuis untuk menguji apa yang telah Anda pelajari. Setelah menyelesaikan topik ini, Anda harus memiliki pemahaman yang baik tentang konsep paling dasar di DAX.
Apa itu DAX?
DAX adalah kumpulan fungsi, operator, dan konstanta yang bisa digunakan dalam rumus, atau ekspresi, untuk menghitung dan mengembalikan satu atau beberapa nilai. Dinyatakan lebih sederhana, DAX membantu Anda membuat informasi baru dari data yang sudah ada dalam model Anda.
Mengapa DAX begitu penting?
Sangat mudah untuk membuat buku kerja dan mengimpor beberapa data ke dalamnya. Anda bahkan bisa membuat PivotTable atau PivotChart yang menampilkan informasi penting tanpa menggunakan rumus DAX apa pun. Namun, bagaimana jika Anda perlu menganalisis data penjualan penting di beberapa kategori produk dan untuk rentang tanggal yang berbeda? Atau, Anda perlu menggabungkan data inventori penting dari beberapa tabel di sumber data yang berbeda? Rumus DAX juga menyediakan kapabilitas ini dan berbagai kapabilitas penting lainnya. Mempelajari cara membuat rumus DAX yang efektif akan membantu Anda memaksimalkan data Anda. Ketika mendapatkan informasi yang diperlukan, Anda dapat mulai menyelesaikan masalah bisnis nyata yang memengaruhi intinya. Ini adalah Kecerdasan Bisnis, dan DAX akan membantu Anda sampai di sana.
Prasyarat
Anda mungkin sudah terbiasa membuat rumus di Microsoft Excel. Pengetahuan tersebut akan sangat membantu dalam memahami DAX, tetapi bahkan jika Anda tidak memiliki pengalaman dengan rumus Excel, konsep yang diuraikan di sini akan membantu Anda mulai membuat rumus DAX dan memecahkan masalah BI dunia nyata segera.
Kami akan fokus secara khusus pada pemahaman rumus DAX yang digunakan dalam perhitungan. Anda harus sudah terbiasa dengan konsep dasar dari kolom terhitung dan pengukuran (juga dikenal sebagai bidang terhitung), keduanya diuraikan dalam Bantuan Power Pivot . Anda juga harus terbiasa dengan Power Pivot di lingkungan dan alat penulisan Excel.
Contoh Buku Kerja
Cara terbaik untuk mempelajari DAX adalah dengan membuat beberapa rumus dasar, menggunakannya dengan beberapa data aktual, dan melihat hasilnya sendiri. Contoh dan tugas di sini menggunakan buku kerja Formulas.xlsx DAX Sampel Contoso. Anda bisa mengunduh buku kerja dari http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Setelah buku kerja diunduh ke komputer, buka buku kerja, lalu buka jendela Power Pivot .
Mari Kita Mulai!
Kami akan membingkai DAX di sekitar tiga konsep fundamental yang sangat penting: Sintaks, Fungsi, dan Konteks. Tentu saja, ada konsep penting lainnya di DAX, tetapi memahami ketiga konsep ini akan memberikan dasar terbaik untuk membangun keterampilan DAX Anda.
Sintaks
Sebelum Membuat rumus sendiri, mari kita lihat sintaks rumus DAX. Sintaks menyertakan berbagai elemen yang menyusun rumus, atau lebih sederhana, bagaimana rumus ditulis. Misalnya, mari kita lihat rumus DAX sederhana yang digunakan untuk membuat data baru (nilai) untuk setiap baris dalam kolom terhitung, bernama Margin, dalam tabel FactSales: (warna teks rumus hanya untuk tujuan ilustrasi)
Sintaks rumus ini menyertakan elemen berikut:
-
Operator tanda sama dengan (=) menunjukkan awal rumus, dan ketika rumus ini dihitung, rumus akan mengembalikan hasil atau nilai. Semua rumus yang menghitung nilai akan dimulai dengan tanda sama dengan.
-
Kolom yang direferensikan [SalesAmount] berisi nilai yang ingin kami kurangi. Referensi kolom dalam rumus selalu dikelilingi oleh tanda kurung siku []. Tidak seperti rumus Excel yang mereferensikan sel, rumus DAX selalu mereferensikan kolom.
-
Operator matematika pengurangan (-).
-
Kolom yang direferensikan [TotalCost] berisi nilai yang ingin kami kurangi dari nilai dalam kolom [SalesAmount].
Ketika mencoba memahami cara membaca rumus DAX, sering kali membantu untuk memecah setiap elemen ke dalam bahasa yang Anda pikirkan dan berbicara setiap hari. Misalnya, Anda bisa membaca rumus ini sebagai:
Dalam tabel FactSales, untuk setiap baris dalam kolom terhitung Margin, hitung (=) nilai dengan mengurangi nilai (-) dalam kolom [TotalCost] dari nilai di kolom [SalesAmount].
Mari kita lihat tipe rumus lain, rumus yang digunakan dalam pengukuran:
Rumus ini menyertakan elemen sintaks berikut:
-
Nama pengukuran Jumlah Penjualan. Rumus untuk pengukuran bisa menyertakan nama pengukuran, diikuti dengan titik dua, diikuti dengan rumus penghitungan.
-
Operator tanda sama dengan (=) menunjukkan awal rumus penghitungan. Ketika dihitung, hasil akan dikembalikan.
-
Fungsi SUM menambahkan semua angka dalam kolom [SalesAmount]. Anda akan mempelajari selengkapnya tentang fungsi nanti.
-
Tanda kurung () mengapit satu atau beberapa argumen. Semua fungsi memerlukan setidaknya satu argumen. Argumen mengirimkan nilai ke fungsi.
-
Tabel yang dirujuk FactSales.
-
Kolom yang direferensikan [SalesAmount] dalam tabel FactSales. Dengan argumen ini, fungsi SUM mengetahui kolom mana yang akan diagregasikan SUM.
Anda dapat membaca rumus ini sebagai:
Untuk pengukuran bernama Jumlah Penjualan, hitung (=) JUMLAH nilai dalam kolom [ SalesAmount ] dalam tabel FactSales.
Ketika ditempatkan ke zona peletakan Nilai dalam Daftar Bidang PivotTable, pengukuran ini menghitung dan mengembalikan nilai yang ditentukan oleh setiap sel dalam PivotTable, misalnya, Telepon Seluler di AS.
Perhatikan ada beberapa hal yang berbeda tentang rumus ini dibandingkan dengan rumus yang kami gunakan untuk kolom terhitung Margin. Secara khusus, kami memperkenalkan fungsi, SUM. Fungsi adalah rumus pra-tulis yang memudahkan untuk melakukan penghitungan dan manipulasi kompleks dengan angka, tanggal, waktu, teks, dan lainnya. Anda akan mempelajari selengkapnya tentang fungsi nanti.
Tidak seperti kolom terhitung Margin sebelumnya, Anda melihat kolom [SalesAmount] didahului oleh tabel FactSales tempat kolom berada. Ini dikenal sebagai nama kolom yang sepenuhnya memenuhi syarat karena menyertakan nama kolom yang didahului dengan nama tabel. Kolom yang dirujuk dalam tabel yang sama tidak mengharuskan nama tabel disertakan dalam rumus. Ini bisa membuat rumus panjang yang mereferensikan banyak kolom lebih pendek dan lebih mudah dibaca. Namun, ada baiknya untuk selalu menyertakan nama tabel dalam rumus pengukuran Anda, bahkan saat berada dalam tabel yang sama.
Catatan:Â Jika nama tabel berisi spasi, kata kunci khusus, atau karakter yang tidak diperbolehkan, Anda harus memasukkan nama tabel dalam tanda kutip tunggal. Anda juga harus memasukkan nama tabel dalam tanda kutip jika nama berisi karakter apa pun di luar rentang karakter alfanumerik ANSI, terlepas dari apakah lokal Anda mendukung kumpulan karakter atau tidak.
Sangat penting rumus Anda memiliki sintaks yang benar. Biasanya, jika sintaks tidak benar, kesalahan sintaks akan dikembalikan. Dalam kasus lain, sintaks mungkin benar, tetapi nilai yang dikembalikan mungkin bukan yang Anda harapkan. Power Pivot (dan Alat Data SQL Server) mencakup IntelliSense; fitur yang digunakan untuk membuat rumus yang benar secara sintetis dengan membantu Anda memilih elemen yang benar.
Mari kita buat rumus sederhana. Tugas ini akan membantu Anda memahami lebih lanjut sintaks rumus dan bagaimana fitur IntelliSense di bilah rumus dapat membantu Anda.
Tugas: Membuat rumus sederhana untuk kolom terhitung
-
Jika Anda belum berada di jendela Power Pivot , di Excel, pada pita Power Pivot , klik JendelaPower Pivot.
-
Di jendela Power Pivot , klik tabel (tab) FactSales .
-
Gulir ke kolom paling kanan, lalu di header kolom, klik Tambahkan Kolom.
-
Klik bilah rumus di sepanjang bagian atas jendela desainer model.
Kursor Anda kini muncul di bilah rumus. Bilah rumus adalah tempat Anda bisa mengetik rumus untuk kolom terhitung atau bidang terhitung.
Mari kita luangkan waktu untuk melihat tiga tombol di sebelah kiri bilah rumus.
Saat kursor aktif di bilah rumus, tiga tombol tersebut menjadi aktif. Tombol paling kiri, X, hanyalah tombol batalkan. Lanjutkan dan klik. Kursor Anda tidak lagi muncul di bilah rumus, dan tombol batalkan dan tombol tanda centang tidak lagi muncul. Lanjutkan dan klik lagi di bilah rumus. Tombol batalkan dan tombol tanda centang sekarang muncul kembali. Artinya, Anda sudah siap untuk mulai memasukkan rumus.
Tombol tanda centang adalah tombol centang rumus. Itu tidak banyak hingga Anda memasukkan rumus. Kami akan kembali ke dalamnya dalam sedikit.
Klik tombol Fx . Anda akan melihat bahwa kotak dialog baru muncul; kotak dialog Sisipkan Fungsi. Kotak dialog Sisipkan Fungsi adalah cara term mudah untuk mulai memasukkan rumus DAX. Kami akan menambahkan fungsi ke rumus ketika membuat pengukuran beberapa saat kemudian, tetapi untuk saat ini, Anda tidak perlu menambahkan fungsi ke rumus kolom terhitung. Lanjutkan dan tutup kotak dialog Sisipkan Fungsi.
-
Di bilah rumus, ketik tanda sama dengan =, lalu ketik tanda kurung siku buka [. Anda akan melihat jendela kecil muncul dengan semua kolom dalam tabel FactSales. Ini Adalah IntelliSense dalam tindakan.
Karena kolom terhitung selalu dibuat dalam tabel aktif tempat Anda berada, tidak perlu mendahului nama kolom dengan nama tabel. Lanjutkan dan gulir ke bawah lalu klik dua kali [SalesQuantity]. Anda juga bisa menggulir ke nama kolom yang Anda inginkan, lalu tekan Tab.
Kursor Anda kini aktif di sebelah kanan [SalesQuantity].
-
Ketik spasi, lalu ketik operator pengurangan - (tanda minus), lalu ketik spasi lain.
-
Sekarang, ketik tanda kurung siku buka lainnya [. Kali ini, pilih kolom [ReturnQuantity] , lalu tekan Enter.
Jika Anda mendapatkan kesalahan, lihat dengan cermat sintaks Anda. Jika perlu, bandingkan dengan rumus dalam kolom terhitung Margin yang dijelaskan sebelumnya.
Setelah Anda menekan Enter untuk menyelesaikan rumus, kata Menghitung muncul di bilah status di sepanjang bagian bawah jendela Power Pivot . Ini berjalan dengan cepat, meskipun Anda baru saja menghitung nilai baru untuk lebih dari tiga juta baris.
-
Klik kanan header kolom dan ganti nama kolom, NetSales.
Mudah bukan? Anda baru saja membuat rumus DAX yang sederhana namun sangat kuat. Untuk setiap baris dalam tabel FactSales, rumus NetSales menghitung nilai dengan mengurangi nilai dalam kolom [ReturnQuantity] dari nilai di kolom [SalesQuantity]. Perhatikan bagaimana kami baru saja mengatakan "Untuk setiap baris". Ini adalah sekilas konsep lain yang sangat penting di DAX; konteks baris. Anda akan mempelajari selengkapnya tentang konteks baris nanti.
Sesuatu yang sangat penting untuk dipahami ketika mengetik operator ke dalam rumus DAX adalah tipe data dalam argumen yang Anda gunakan. Misalnya, jika Anda mengetik rumus berikut, = 1 & 2, nilai yang dikembalikan akan berupa nilai teks "12". Ini karena operator ampersand (&) adalah untuk penggundulan teks. DAX menginterpretasikan rumus ini untuk dibaca: Menghitung hasil dengan mengambil nilai 1 sebagai teks dan menambahkan nilai 2 sebagai teks. Sekarang, jika Anda mengetik = 1 + 2, DAX akan membaca rumus ini sebagai: Menghitung hasil dengan mengambil nilai numerik 1 dan menambahkan nilai numerik 2. Hasilnya tentu saja "3", nilai numerik. DAX menghitung nilai yang dihasilkan bergantung pada operator dalam rumus, bukan berdasarkan tipe data kolom yang digunakan dalam argumen. Tipe data di DAX sangat penting, tetapi di luar lingkup Mulai Cepat ini. Untuk mempelajari selengkapnya tentang tipe data dan operator dalam rumus DAX, lihat Referensi DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) di Buku Online.
Mari kita coba yang lain. Kali ini, Anda akan membuat pengukuran dengan mengetik rumus dan menggunakan IntelliSense. Jangan terlalu khawatir jika Anda tidak sepenuhnya memahami rumus. Hal penting di sini adalah mempelajari cara membuat rumus menggunakan beberapa elemen bersama-sama dalam sintaks yang benar.
Tugas: Membuat rumus pengukuran
-
Dalam tabel FactSales , klik sel kosong apa pun di Area Penghitungan. Ini adalah area sel kosong tepat di bawah tabel di jendela Power Pivot .
-
Di bilah rumus, ketikkan nama Penjualan Kuartal Sebelumnya:.
-
Ketik tanda sama dengan = untuk memulai rumus penghitungan.
-
Ketikkan beberapa huruf pertama CAL, lalu klik ganda fungsi yang ingin Anda gunakan. Dalam rumus ini, Anda ingin menggunakan fungsi CALCULATE .
-
Ketik tanda kurung buka ( untuk memulai argumen yang akan dialihkan ke fungsi CALCULATE.
Perhatikan setelah mengetik tanda kurung buka, IntelliSense memperlihatkan argumen yang diperlukan untuk fungsi CALCULATE. Anda akan mempelajari tentang argumen dalam sedikit.
-
Ketikkan beberapa huruf pertama tabel FactSales , lalu di daftar turun bawah, klik ganda FactSales[Sales].
-
Ketik tanda koma (,) untuk menentukan filter pertama, lalu ketik, PRE, lalu klik ganda fungsi PREVIOUSQUARTER .
Setelah memilih fungsi PREVIOUSQUARTER, tanda kurung buka lainnya muncul, menunjukkan argumen lain diperlukan; kali ini, untuk fungsi PREVIOUSQUARTER.
-
Ketikkan beberapa huruf pertama Dim, lalu klik ganda DimDate[DateKey].
-
Tutup kedua argumen yang diteruskan ke fungsi PREVIOUSQUARTER dan fungsi CALCULATE dengan mengetikkan dua tanda kurung tutup )).
Rumus Anda sekarang akan terlihat seperti ini:
Penjualan Kuartal Sebelumnya:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))
-
Klik tombol periksa rumus pada bilah rumus untuk memvalidasi rumus. Jika Anda mendapatkan kesalahan, verifikasi setiap elemen sintaks.
Kau berhasil! Anda baru saja membuat pengukuran menggunakan DAX, dan bukan ukuran yang mudah pada saat itu. Apa yang akan dilakukan rumus ini adalah menghitung total penjualan untuk kuartal sebelumnya, bergantung pada filter yang diterapkan dalam PivotTable atau PivotChart.
Anda baru saja diperkenalkan ke beberapa aspek penting rumus DAX. Pertama, rumus ini menyertakan dua fungsi. Perhatikan bahwa fungsi PREVIOUSQUARTER ditumpuk sebagai argumen yang dialihkan ke fungsi CALCULATE . Rumus DAX bisa berisi hingga 64 fungsi bertumpuk. Tidak mungkin rumus akan berisi begitu banyak fungsi bertumpuk. Bahkan, rumus seperti itu akan sangat sulit untuk dibuat dan di-debug, dan mungkin juga tidak akan sangat cepat.
Dalam rumus ini, Anda juga menggunakan filter. Filter mempersempit hal yang akan dihitung. Dalam hal ini, Anda memilih satu filter sebagai argumen, yang sebenarnya merupakan fungsi lain. Anda akan mempelajari selengkapnya tentang filter nanti.
Terakhir, Anda menggunakan fungsi CALCULATE. Ini adalah salah satu fungsi yang paling kuat di DAX. Saat Anda menulis model data dan membuat rumus yang lebih kompleks, Anda kemungkinan akan menggunakan fungsi ini berkali-kali. Mendiskusikan fungsi CALCULATE berada di luar lingkup Mulai Cepat ini, tetapi saat pengetahuan Anda tentang DAX tumbuh, beri perhatian khusus pada fungsi ini.
Catatan:Â Biasanya, untuk menggunakan fungsi Kecerdasan Waktu dalam rumus DAX, Anda harus menentukan kolom tanggal unik menggunakan kotak dialog Tandai sebagai Tabel Tanggal. Dalam buku kerja Samples.xlsx Rumus Contoso DAX, kolom DateKey dalam tabel DimDate dipilih sebagai kolom tanggal unik.
Kredit Tambahan
Anda mungkin bertanya: 'Apa rumus DAX paling sederhana yang bisa saya buat?' Nah, jawabannya adalah 'rumus yang anda tidak perlukan'. Dan, itulah yang bisa Anda lakukan dengan menggunakan fungsi agregasi standar dalam ukuran. Hampir semua model data perlu memfilter dan menghitung data agregat. Misalnya, fungsi SUM dalam pengukuran Jumlah Penjualan yang Anda lihat sebelumnya digunakan untuk menambahkan semua angka dalam kolom tertentu. DAX menyertakan beberapa fungsi lain yang juga menggabungkan nilai. Anda dapat membuat rumus secara otomatis menggunakan agregasi standar menggunakan fitur JumlahOtomatis.
Tugas Kredit Tambahan: Membuat rumus pengukuran menggunakan fitur JumlahOtomatis
-
Dalam tabel FactSales, gulir ke kolom ReturnQuantity, lalu klik header kolom untuk memilih seluruh kolom.
-
Pada tab Beranda , pada pita, dalam grup Penghitungan , klik tombol JumlahOtomatis .
Klik panah bawah di samping JumlahOtomatis, lalu klik Rata-rata (perhatikan fungsi agregasi standar lain yang juga bisa Anda gunakan).
Segera, pengukuran baru dibuat dengan nama Average of ReturnQuantity: diikuti dengan rumus =AVERAGE([ReturnQuantity]).
Sekarang tidak semudah itu? Tentu saja, tidak semua rumus yang Anda buat akan begitu sederhana. Namun, dengan menggunakan fitur JumlahOtomatis, Anda dapat membuat rumus yang cepat dan mudah menggunakan perhitungan agregasi standar.
Ini akan memberi Anda pemahaman yang cukup baik tentang sintaks yang digunakan dalam rumus DAX. Anda juga diperkenalkan pada beberapa fitur keren seperti IntelliSense dan AutoSum untuk membantu Anda membuat rumus yang cepat, mudah, dan akurat. Tentu saja ada banyak lagi yang bisa Anda pelajari tentang sintaks. Tempat yang bagus untuk mempelajari selengkapnya adalah Referensi DAX atau Buku SQL Online.
QuickQuiz Sintaks
-
Apa fungsi tombol ini pada bilah rumus?
-
Apa yang selalu mengelilingi nama kolom dalam rumus DAX?
-
Bagaimana cara menulis rumus untuk hal berikut:
Dalam tabel DimProduct, untuk setiap baris dalam kolom terhitung UnitMargin, hitung nilai dengan mengurangi nilai di kolom UnitCost dari nilai di kolomUnitPrice?
Jawaban disediakan di akhir topik ini.
Fungsi
Fungsi adalah rumus yang sudah ditentukan sebelumnya yang melakukan penghitungan dengan menggunakan nilai tertentu, yang disebut argumen, dalam urutan atau struktur tertentu. Argumen bisa berupa fungsi lain, rumus lain, referensi kolom, angka, teks, nilai logika seperti TRUE atau FALSE, atau konstanta.
DAX menyertakan kategori fungsi berikut: Fungsi Tanggal dan Waktu, Informasi, Logika, Matematika, Statistik, Teks, dan Kecerdasan Waktu. Jika Anda terbiasa dengan fungsi dalam rumus Excel, banyak fungsi di DAX akan terlihat mirip dengan Anda; namun, fungsi DAX unik dengan cara berikut:
-
Fungsi DAX selalu mereferensikan kolom lengkap atau tabel. Jika Anda hanya ingin menggunakan nilai tertentu dari tabel atau kolom, Anda bisa menambahkan filter ke rumus.
-
Jika Anda perlu mengkustomisasi penghitungan berdasarkan baris demi baris, DAX menyediakan fungsi yang memungkinkan Anda menggunakan nilai baris saat ini atau nilai terkait sebagai semacam argumen, untuk melakukan penghitungan yang bervariasi menurut konteks. Anda akan mempelajari selengkapnya tentang konteks nanti.
-
DAX menyertakan banyak fungsi yang mengembalikan tabel, bukan nilai. Tabel tidak ditampilkan, tetapi digunakan untuk memberikan input ke fungsi lain. Misalnya, Anda bisa mengambil tabel lalu menghitung nilai yang berbeda di dalamnya, atau menghitung jumlah dinamis di seluruh tabel atau kolom yang difilter.
-
DAX menyertakan berbagai fungsi kecerdasan waktu. Fungsi ini memungkinkan Anda menentukan atau memilih rentang tanggal, dan melakukan penghitungan dinamis berdasarkan rentang tersebut. Misalnya, Anda bisa membandingkan jumlah di seluruh periode paralel.
Terkadang sulit untuk mengetahui fungsi mana yang mungkin perlu Anda gunakan dalam rumus. Power Pivot, dan desainer model tabular di Alat Data SQL Server, menyertakan fitur Sisipkan Fungsi, kotak dialog yang membantu Anda memilih fungsi menurut kategori dan menyediakan deskripsi singkat untuk setiap fungsi.
Mari kita buat rumus baru yang menyertakan fungsi yang akan Anda pilih dengan menggunakan fitur Sisipkan Fungsi:
Tugas: Menambahkan fungsi ke rumus menggunakan Fungsi Sisipkan
-
Dalam tabel FactSales, gulir ke kolom paling kanan, lalu di header kolom, klik Tambahkan Kolom.
-
Di bilah rumus, ketik tanda sama dengan, =.
-
Klik tombol Sisipkan Fungsi . Ini akan membuka kotak dialog Sisipkan Fungsi .
-
Dalam kotak dialog Sisipkan Fungsi , klik kotak daftar Pilih kategori . Secara default, Semua dipilih, dan semua fungsi dalam kategori Semua tercantum di bawah ini. Itu banyak fungsi, jadi Anda akan ingin memfilter fungsi untuk mempermudah menemukan tipe fungsi yang Anda cari.
-
Untuk rumus ini, Anda ingin mengembalikan beberapa data yang sudah ada dalam tabel lain. Untuk itu, Anda akan menggunakan fungsi dalam kategori Filter. Lanjutkan dan klik kategori Filter , lalu di Pilih fungsi, gulir ke bawah dan klik ganda fungsi RELATED. Klik Ok untuk menutup kotak dialog Sisipkan Fungsi .
-
Gunakan IntelliSense untuk membantu Anda menemukan dan memilih kolom DimChannel[ChannelName].
-
Tutup rumus lalu tekan Enter.
-
Setelah Anda menekan Enter untuk menyelesaikan rumus, kata Menghitung muncul di bilah status di sepanjang bagian bawah jendela Power Pivot . Sekarang Anda akan melihat bahwa Anda baru saja membuat kolom baru di tabel FactSales dengan informasi saluran dari tabel DimChannel.
-
Mengganti nama kolom Saluran.
Rumus Anda akan terlihat seperti ini: =RELATED(DimChannel[ChannelName])
Anda baru saja diperkenalkan ke fungsi lain yang sangat penting di DAX, fungsi RELATED . Fungsi RELATED mengembalikan nilai dari tabel lain. Anda bisa menggunakan RELATED asalkan ada hubungan antara tabel yang sedang Anda gunakan dan tabel yang berisi nilai yang ingin Anda dapatkan. Tentu saja, fungsi RELATED memiliki kemungkinan besar. Dalam hal ini, Anda kini dapat menyertakan saluran penjualan untuk setiap penjualan dalam tabel FactSales. Sekarang Anda bisa menyembunyikan tabel DimChannel dari daftar bidang PivotTable, memudahkan untuk menavigasi dan hanya melihat informasi terpenting yang benar-benar Anda perlukan. Sama seperti fungsi CALCULATE yang dijelaskan sebelumnya, fungsi RELATED sangat penting, dan Anda kemungkinan akan menggunakannya berkali-kali.
Seperti yang bisa Anda lihat, fungsi di DAX bisa membantu Anda membuat rumus yang sangat hebat. Kami benar-benar hanya menyentuh dasar-dasar fungsi. Saat kemampuan DAX ditingkatkan, Anda akan membuat rumus menggunakan berbagai fungsi. Salah satu tempat terbaik untuk mempelajari detail tentang semua fungsi DAX adalah dalam Referensi Data Analysis Expressions (DAX).
QuickQuiz Fungsi
-
Apa fungsi yang selalu dirujuk?
-
Bisakah rumus berisi lebih dari satu fungsi?
-
Kategori fungsi apa yang akan Anda gunakan untuk menggabungkan dua string teks menjadi satu string?
Jawaban disediakan di akhir topik ini.
Konteks
Konteks adalah salah satu konsep DAX yang paling penting untuk dipahami. Ada dua jenis konteks dalam DAX; konteks baris dan konteks filter. Kita akan melihat konteks baris terlebih dahulu.
Konteks Baris
Konteks baris paling mudah dianggap sebagai baris saat ini. Misalnya, ingat kolom terhitung Margin yang Anda lihat sebelumnya saat mempelajari sintaks? Rumus =[SalesAmount] - [TotalCost] menghitung nilai dalam kolom Margin untuk setiap baris dalam tabel. Nilai untuk setiap baris dihitung dari nilai dalam dua kolom lainnya, [SalesAmount] dan [TotalCost] di baris yang sama. DAX dapat menghitung nilai untuk setiap baris dalam kolom Margin karena memiliki konteks: Untuk setiap baris, nilai dibutuhkan dalam kolom [TotalCost] dan menguranginya dari nilai dalam kolom [SalesAmount].
Dalam sel yang dipilih yang diperlihatkan di bawah ini, nilainya, $49,54 di baris saat ini dihitung dengan mengurangi nilai $51,54 di kolom [TotalCost] dari nilai $101,08 di kolom [SalesAmount].
Konteks baris tidak hanya berlaku untuk kolom terhitung. Konteks baris juga berlaku setiap kali rumus memiliki fungsi yang menerapkan filter untuk mengidentifikasi satu baris dalam tabel. Fungsi ini secara inheren akan menerapkan konteks baris untuk setiap baris tabel yang difilter. Tipe konteks baris ini paling sering berlaku untuk pengukuran.
Konteks Filter
Konteks filter sedikit lebih sulit dipahami daripada konteks baris. Anda dapat dengan mudah memikirkan konteks filter sebagai: Satu atau beberapa filter diterapkan dalam penghitungan yang menentukan hasil atau nilai.
Konteks filter tidak ada di tempat konteks baris; sebaliknya, ini berlaku selain konteks baris. Misalnya, untuk lebih mempersempit nilai untuk disertakan dalam penghitungan, Anda bisa menerapkan konteks filter yang tidak hanya menentukan konteks baris, tetapi juga menentukan hanya nilai tertentu (filter) dalam konteks baris tersebut.
Konteks filter mudah dilihat di PivotTable. Misalnya, saat Anda menambahkan TotalCost ke area Nilai, lalu menambahkan Tahun dan Kawasan ke Baris atau Kolom, Anda menetapkan konteks filter yang memilih subkumpulan data berdasarkan tahun dan kawasan tertentu.
Mengapa konteks filter begitu penting bagi DAX? Karena, meskipun konteks filter bisa paling mudah diterapkan dengan menambahkan label kolom dan baris dan pemotong dalam PivotTable, konteks filter juga bisa diterapkan dalam rumus DAX dengan menetapkan filter menggunakan fungsi seperti ALL, RELATED, FILTER, CALCULATE, menurut hubungan, dan dengan pengukuran dan kolom lainnya. Misalnya, mari kita lihat rumus berikut dalam pengukuran bernama StoreSales:
Jelas rumus ini lebih kompleks daripada beberapa rumus lain yang telah Anda lihat. Namun, untuk lebih memahami rumus ini, kita bisa memecahnya, seperti yang telah kita lakukan dengan rumus lain.
Rumus ini menyertakan elemen sintaks berikut:
-
Nama pengukuran StoreSales, diikuti dengan tanda titik dua :.
-
Operator tanda sama dengan (=) menunjukkan awal rumus.
-
Fungsi CALCULATE mengevaluasi ekspresi, sebagai argumen, dalam konteks yang diubah oleh filter yang ditentukan.
-
Tanda kurung () mengapit satu atau beberapa argumen.
-
Pengukuran [Penjualan] dalam tabel yang sama dengan ekspresi. Pengukuran Penjualan memiliki rumus: =SUM(FactSales[SalesAmount]).
-
Tanda koma (,) memisahkan setiap filter.
-
Kolom yang direferensikan dan nilai tertentu, DimChannel[ChannelName] ="Store", sebagai filter.
Rumus ini hanya akan memastikan nilai penjualan, yang ditentukan oleh pengukuran Penjualan, sebagai filter, hanya dihitung untuk baris dalam kolom DimChannel[ChannelName] dengan nilai "Store", sebagai filter.
Seperti yang dapat Anda bayangkan, mampu menentukan konteks filter dalam rumus memiliki kapabilitas yang luar biasa dan hebat. Hanya dapat mereferensikan nilai tertentu dalam tabel terkait hanyalah salah satu contoh. Jangan khawatir jika Anda tidak benar-benar memahami konteks segera. Saat membuat rumus sendiri, Anda akan lebih memahami konteks dan mengapa rumus tersebut sangat penting di DAX.
QuickQuiz Konteks
-
Apa dua tipe konteks itu?
-
Apa itu konteks filter?
-
Apa itu konteks baris?
Jawaban disediakan di akhir topik ini.
Ringkasan
Sekarang setelah Anda memiliki pemahaman dasar tentang konsep yang paling penting di DAX, Anda bisa mulai membuat rumus DAX untuk kolom terhitung dan pengukuran Anda sendiri. DAX memang bisa sedikit sulit untuk dipelajari, tetapi ada banyak sumber daya yang tersedia untuk Anda. Setelah membaca topik ini beberapa kali, dan bereksperimen dengan beberapa rumus Anda sendiri, Anda bisa mempelajari selengkapnya tentang konsep dan rumus DAX lain yang bisa membantu Anda memecahkan masalah bisnis Anda sendiri. Ada banyak sumber daya DAX yang tersedia untuk Anda di Bantuan Power Pivot , SQL Server Books Online, whitepaper, dan blog dari Microsoft dan profesional BI terkemuka. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) adalah tempat yang tepat untuk memulai. Referensi Data Analysis Expressions (DAX) juga merupakan sumber daya yang hebat. Pastikan untuk menyimpannya di Favorit Anda.
DAX dalam whitepaper Model Tabular BI, tersedia untuk diunduh (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) memberikan tampilan yang lebih mendetail tentang konsep yang diperkenalkan di sini serta banyak konsep dan rumus tingkat lanjut lainnya. Whitepaper ini juga menggunakan buku kerja Formulas.xlsx Sampel Contoso DAX yang sama dengan yang sudah Anda miliki.
Jawaban QuickQuiz
Sintaks:
-
Membuka fitur Sisipkan Fungsi.
-
Tanda kurung siku [].
-
=[UnitPrice] - [UnitCost]
Fungsi:
-
Tabel dan kolom.
-
Ya. Rumus dapat berisi hingga 64 fungsi bertumpuk.
Konteks:
-
Konteks baris dan konteks filter.
-
Satu atau beberapa filter dalam perhitungan yang menentukan satu nilai.
-
Baris saat ini.