Mulai Cepat ini ditujukan untuk pengguna yang baru menggunakan Power Pivot di Excel atau proyek model tabel yang ditulis di SQL Server Data Tools. Ini dimaksudkan untuk memberi Anda pengenalan yang cepat dan mudah tentang bagaimana Anda dapat menggunakan Ekspresi Analisis Data (DAX) untuk memecahkan sejumlah masalah pemodelan data dan analitis dasar. Topik ini mencakup informasi konseptual, serangkaian tugas yang dapat Anda selesaikan, dan beberapa kuis untuk menguji apa yang telah Anda pelajari. Setelah menyelesaikan topik ini, Anda harus memiliki pemahaman yang baik tentang konsep dasar paling dasar di DAX.
Apa itu DAX?
DAX adalah kumpulan fungsi, operator, dan konstanta yang dapat digunakan dalam rumus, atau ekspresi, untuk menghitung dan mengembalikan satu atau beberapa nilai. Secara lebih sederhana, DAX membantu Anda membuat informasi baru dari data yang sudah ada di model Anda.
Mengapa DAX sangat penting?
Sangat mudah untuk membuat buku kerja dan mengimpor beberapa data ke dalamnya. Anda bahkan dapat 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 inventaris penting dari beberapa tabel dalam sumber data yang berbeda? Rumus DAX menyediakan kemampuan ini dan banyak kemampuan penting lainnya juga. Mempelajari cara membuat rumus DAX yang efektif akan membantu Anda memaksimalkan data Anda. Ketika Anda mendapatkan informasi yang Anda butuhkan, Anda dapat mulai memecahkan masalah bisnis nyata yang memengaruhi keuntungan Anda. Ini adalah Kecerdasan Bisnis, dan DAX akan membantu Anda mencapainya.
Prasyarat
Anda mungkin sudah terbiasa membuat rumus di Microsoft Excel. Pengetahuan tersebut akan membantu dalam memahami DAX, tetapi meskipun Anda tidak memiliki pengalaman dengan rumus Excel, konsep yang dijelaskan 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 penghitungan. Anda seharusnya sudah terbiasa dengan konsep dasar dari kolom dan pengukuranterhitung (juga dikenal sebagai bidang terhitung), yang keduanya dijelaskan dalam Bantuan Power Pivot. Anda juga harus terbiasa dengan lingkungan dan alat penulisan Power Pivot di 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 Contoso Contoh DAX Formulas.xlsx. Anda dapat mengunduh buku kerja dari http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Setelah buku kerja diunduh ke komputer, buka, lalu buka jendela Power Pivot.
Mari mulai!
Kami akan membingkai DAX di sekitar tiga konsep dasar yang sangat penting: Sintaks, Fungsi, dan Konteks. Tentu saja, ada konsep penting lainnya di DAX, tetapi memahami ketiga konsep ini akan memberikan landasan terbaik untuk membangun keterampilan DAX Anda.
Sintaks
Sebelum membuat rumus Anda sendiri, mari kita lihat sintaks rumus DAX. Sintaks mencakup berbagai elemen yang membentuk rumus, atau lebih sederhananya, bagaimana rumus ditulis. Misalnya, mari kita lihat rumus DAX sederhana yang digunakan untuk membuat data (nilai) baru untuk setiap baris dalam kolom terhitung, bernama Margin, dalam tabel FactSales: (warna teks rumus hanya untuk tujuan ilustrasi)
Sintaks rumus ini mencakup 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 dirujuk [SalesAmount] berisi nilai yang ingin kita kurangi. Referensi kolom dalam rumus selalu ditutup dengan tanda kurung []. Tidak seperti rumus Excel yang mereferensikan sel, rumus DAX selalu mereferensikan kolom.
- Operator matematika pengurangan (-).
- Kolom yang dirujuk [TotalCost] berisi nilai yang ingin kita kurangi dari nilai di kolom [SalesAmount].
Saat mencoba memahami cara membaca rumus DAX, akan sangat membantu untuk mengurai setiap elemen ke dalam bahasa yang Anda pikirkan dan gunakan setiap hari. Misalnya, Anda dapat membaca rumus ini sebagai:
Di tabel FactSales, untuk setiap baris di kolom terhitung Margin, hitung (=) nilai dengan mengurangi (-) nilai di kolom [TotalCost] dari nilai di kolom [SalesAmount].
Mari kita lihat jenis rumus lain, yang digunakan dalam suatu pengukuran:
Rumus ini mencakup elemen sintaksis berikut:
- Nama pengukuran Jumlah Penjualan. Rumus untuk pengukuran dapat menyertakan nama pengukuran, diikuti dengan titik dua, diikuti dengan rumus penghitungan.
- Operator tanda sama dengan (=) menunjukkan awal rumus penghitungan. Ketika dihitung, itu akan mengembalikan hasil.
- Fungsi SUM menjumlahkan semua angka dalam kolom [SalesAmount]. Anda akan mempelajari selengkapnya tentang fungsi nanti.
- Tanda kurung () mengelilingi satu atau beberapa argumen. Semua fungsi memerlukan setidaknya satu argumen. Argumen meneruskan nilai ke suatu fungsi.
- Tabel referensi FactSales.
- Kolom yang dirujuk [SalesAmount] dalam tabel FactSales. Dengan argumen ini, fungsi SUM mengetahui kolom mana yang akan diagregasi SUM.
Anda dapat membaca rumus ini sebagai:
Untuk ukuran bernama Jumlah Penjualan, hitung (=) JUMLAH nilai dalam kolom [SalesAmount] di FactSalestable.
Ketika ditempatkan ke dalam zona drop Nilai dalam Daftar Bidang PivotTable, pengukuran ini menghitung dan mengembalikan nilai yang ditentukan oleh setiap sel dalam PivotTable, misalnya, Ponsel di AS.
Perhatikan ada beberapa hal yang berbeda tentang rumus ini dibandingkan dengan rumus yang kami gunakan untuk kolom kalkulasi Margin. Secara khusus, kami memperkenalkan fungsi, SUM. Fungsi adalah rumus pra-tulis yang memudahkan melakukan penghitungan dan manipulasi kompleks dengan angka, tanggal, waktu, teks, dan lainnya. Anda akan mempelajari selengkapnya tentang fungsi nanti.
Tidak seperti kolom yang dihitung Margin sebelumnya, Anda melihat kolom [SalesAmount] didahului oleh tabel FactSales tempat kolom tersebut berada. Ini dikenal sebagai nama kolom yang memenuhi syarat sepenuhnya karena menyertakan nama kolom yang didahului oleh nama tabel. Kolom yang direferensikan dalam tabel yang sama tidak mengharuskan nama tabel disertakan dalam rumus. Hal ini dapat membuat rumus panjang yang mereferensikan banyak kolom menjadi lebih pendek dan lebih mudah dibaca. Namun, praktik yang baik adalah untuk selalu menyertakan nama tabel dalam rumus pengukuran Anda, bahkan ketika berada dalam tabel yang sama.
Catatan
Jika nama tabel berisi spasi, kata kunci yang dicadangkan, atau karakter yang tidak diizinkan, Anda harus memasukkan nama tabel dalam tanda kutip tunggal. Anda juga harus memasukkan nama tabel dalam tanda kutip jika nama tersebut berisi karakter di luar rentang karakter alfanumerik ANSI, terlepas dari apakah lokal Anda mendukung rangkaian karakter atau tidak.
Sangat penting rumus Anda memiliki sintaks yang benar. Biasanya, jika sintaksnya tidak benar, kesalahan sintaksis akan dikembalikan. Dalam kasus lain, sintaksnya mungkin benar, tetapi nilai yang dikembalikan mungkin tidak sesuai dengan yang Anda harapkan. Power Pivot (dan SQL Server Data Tools) menyertakan IntelliSense; fitur yang digunakan untuk membuat rumus yang benar secara sintaksis dengan membantu Anda memilih elemen yang benar.
Mari kita buat rumus sederhana. Tugas ini akan membantu Anda memahami sintaks rumus lebih lanjut 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 Jendela Power Pivot.
- Di jendela Power Pivot, klik tabel FactSales (tab).
- Gulir ke kolom paling kanan, lalu di header kolom, klik Tambahkan Kolom.
- Klik di bilah rumus di sepanjang bagian atas jendela desainer model.
Kursor Anda sekarang muncul di bilah rumus. Bilah rumus adalah tempat Anda dapat mengetik rumus untuk kolom terhitung atau bidang terhitung.
Mari kita luangkan waktu sejenak untuk melihat tiga tombol di sebelah kiri bilah rumus.
Saat kursor aktif di bilah rumus, ketiga tombol tersebut menjadi aktif. Tombol paling kiri, X, hanyalah tombol batal. Lanjutkan dan klik. Kursor Anda tidak lagi muncul di bilah rumus, dan tombol batal serta tombol tanda centang tidak lagi muncul. Lanjutkan dan klik di bilah rumus lagi. Tombol batal dan tombol tanda centang kini muncul kembali. Ini berarti Anda siap untuk mulai memasukkan rumus.
Tombol tanda centang adalah tombol periksa rumus. Ini tidak melakukan banyak hal sampai Anda memasukkan rumus. Kami akan kembali sebentar lagi.
Klik tombol Fx . Anda akan melihat bahwa kotak dialog baru muncul; kotak dialog Fungsi Sisipkan. Kotak dialog Fungsi Sisipkan adalah cara termudah untuk mulai memasukkan rumus DAX. Kita akan menambahkan fungsi ke rumus ketika kita membuat pengukuran nanti, tetapi untuk saat ini, Anda tidak perlu menambahkan fungsi ke rumus kolom terhitung. Lanjutkan dan tutup kotak dialog Fungsi Sisipkan. - Pada bilah rumus, ketik tanda sama dengan =, lalu ketikkan tanda kurung buka [. Anda akan melihat jendela kecil muncul dengan semua kolom dalam tabel FactSales. Ini adalah IntelliSense yang sedang digunakan.
Karena kolom terhitung selalu dibuat di 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 dapat menggulir ke nama kolom yang diinginkan, lalu menekan Tab.
Kursor Anda sekarang aktif di sebelah kanan [SalesQuantity]. - Ketik spasi, lalu ketik operator pengurangan - (tanda minus), lalu ketik spasi lain.
- Sekarang, ketik tanda kurung buka lain [. Kali ini, pilih kolom [ReturnQuantity ], lalu tekan Enter.
Jika Anda mendapatkan kesalahan, perhatikan baik-baik sintaks Anda. Jika perlu, bandingkan dengan rumus di kolom Margin terhitung yang dijelaskan sebelumnya.
Setelah menekan Enter untuk menyelesaikan rumus, kata Menghitung muncul di bilah status di sepanjang bagian bawah jendela Power Pivot. Proses ini berjalan 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 canggih. Untuk setiap baris dalam tabel FactSales, rumus NetSales menghitung nilai dengan mengurangi nilai di 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 saat mengetikkan 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 menjadi nilai teks "12". Hal ini dikarenakan operator ampersand (&) adalah untuk penggabungan teks. DAX menafsirkan rumus ini sebagai berikut: Hitung hasil dengan mengambil nilai 1 sebagai teks dan tambahkan nilai 2 sebagai teks. Sekarang, jika Anda mengetik = 1 + 2, DAX membaca rumus ini sebagai: Hitung hasil dengan mengambil nilai numerik 1 dan menambahkan nilai numerik 2. Hasilnya tentu saja "3", nilai numerik. DAX menghitung nilai hasil tergantung pada operator dalam rumus, bukan berdasarkan tipe data kolom yang digunakan dalam argumen. Tipe data di DAX sangat penting, tetapi di luar cakupan Mulai Cepat ini. Untuk mempelajari selengkapnya tentang tipe dan operator data dalam rumus DAX, lihat Referensi DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) di Books 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 rumusnya. Yang penting di sini adalah belajar cara membuat rumus menggunakan beberapa elemen bersama-sama dalam sintaks yang benar.
Tugas: Membuat rumus pengukuran
- Dalam tabel FactSales , klik sel kosong mana pun di Area Penghitungan. Ini adalah area sel kosong tepat di bawah tabel di jendela Power Pivot.
- Di bilah rumus, ketik nama Penjualan Kuartal Sebelumnya:.
- Ketik tanda sama dengan = untuk memulai rumus penghitungan.
- Ketik beberapa huruf pertama CAL, lalu klik dua kali fungsi yang ingin Anda gunakan. Dalam rumus ini, Anda ingin menggunakan fungsi CALCULATE .
- Ketik tanda kurung buka ( untuk memulai argumen yang akan diteruskan ke fungsi CALCULATE.
Perhatikan setelah mengetikkan tanda kurung pembuka, IntelliSense memperlihatkan argumen yang diperlukan untuk fungsi CALCULATE. Anda akan belajar tentang argumen sebentar lagi. - Ketik beberapa huruf pertama tabel FactSales , lalu klik dua kali FactSales[Sales] dalam daftar drop-down.
- Ketik koma (,) untuk menentukan filter pertama, lalu ketik, PRE, lalu klik dua kali fungsi PREVIOUSQUARTER.
Setelah memilih fungsi PREVIOUSQUARTER, tanda kurung buka lain akan muncul, yang menunjukkan argumen lain diperlukan; kali ini, untuk fungsi PREVIOUSQUARTER. - Ketik beberapa huruf pertama Dim, lalu klik dua kali DimDate[DateKey].
- Tutup argumen yang diteruskan ke fungsi PREVIOUSQUARTER dan fungsi CALCULATE dengan mengetik dua tanda kurung penutup )).
Rumus Anda kini 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 tersebut.
Anda berhasil! Anda baru saja membuat pengukuran menggunakan DAX, dan bukan ukuran yang mudah. Rumus ini akan menghitung total penjualan untuk kuartal sebelumnya, bergantung pada filter yang diterapkan dalam PivotTable atau PivotChart.
Anda baru saja diperkenalkan dengan beberapa aspek penting dari rumus DAX. Pertama, rumus ini mencakup dua fungsi. Perhatikan bahwa fungsi PREVIOUSQUARTER ditumpuk sebagai argumen yang diteruskan ke fungsi CALCULATE . Rumus DAX dapat berisi hingga 64 fungsi bertumpuk. Tidak mungkin rumus akan berisi begitu banyak fungsi bertumpuk. Faktanya, rumus seperti itu akan sangat sulit untuk dibuat dan di-debug, dan mungkin juga tidak akan terlalu cepat.
Dalam rumus ini, Anda juga menggunakan filter. Filter mempersempit apa yang akan dihitung. Dalam kasus 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 paling kuat di DAX. Saat menulis model data dan membuat rumus yang lebih kompleks, Anda mungkin akan menggunakan fungsi ini berkali-kali. Mendiskusikan fungsi CALCULATE berada di luar lingkup Mulai Cepat ini, tetapi seiring berkembangnya pengetahuan Anda tentang DAX, berikan perhatian khusus pada yang satu 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 Ekstra
Anda mungkin bertanya: 'Apa rumus DAX paling sederhana yang dapat saya buat?' Nah, jawabannya adalah 'rumus yang tidak harus Anda lakukan'. Dan, itulah yang dapat Anda lakukan dengan menggunakan fungsi agregasi standar dalam sebuah pengukuran. Hampir semua model data perlu memfilter dan menghitung data agregat. Misalnya, fungsi SUM dalam ukuran Jumlah Jumlah Penjualan yang Anda lihat sebelumnya digunakan untuk menjumlahkan 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 Penjumlahan Otomatis.
Tugas Kredit Ekstra: Membuat rumus pengukuran menggunakan fitur Penjumlahan Otomatis
- Dalam tabel FactSales, gulir ke kolom ReturnQuantity, lalu klik header kolom untuk memilih seluruh kolom.
- Pada tab Beranda , pada pita, di grup Penghitungan , klik tombol Penjumlahan Otomatis .
Klik panah bawah di samping Penjumlahan Otomatis, lalu klik Rata-rata (perhatikan fungsi agregasi standar lainnya yang juga dapat Anda gunakan).
Segera, pengukuran baru dibuat dengan nama Average of ReturnQuantity: diikuti dengan rumus =AVERAGE([ReturnQuantity]).
Sekarang, bukankah itu mudah? Tentu saja, tidak semua rumus yang Anda buat akan sesederhana ini. Namun, dengan menggunakan fitur AutoSum, Anda dapat membuat rumus yang cepat dan mudah menggunakan penghitungan agregasi standar.
Ini akan memberi Anda pemahaman yang cukup baik tentang sintaks yang digunakan dalam rumus DAX. Anda juga diperkenalkan dengan beberapa fitur yang sangat keren seperti IntelliSense dan AutoSum untuk membantu Anda membuat rumus yang cepat, mudah, dan akurat. Tentu saja masih banyak yang dapat Anda pelajari tentang sintaks. Tempat yang baik untuk mempelajari lebih lanjut adalah DAX Reference atau SQL Books Online.
Sintaks QuickQuiz
- Apa fungsi tombol di bilah rumus ini?
- Apa yang selalu mengelilingi nama kolom dalam rumus DAX?
- Bagaimana cara menulis rumus untuk hal berikut:
Dalam tabel DimProduct, untuk setiap baris di kolom terhitung UnitMargin, hitung nilai dengan mengurangi nilai di kolom UnitCost dari nilai di kolom UnitPrice?
Jawaban diberikan di akhir topik ini.
Fungsi
Fungsi adalah rumus yang telah ditentukan sebelumnya yang melakukan penghitungan menggunakan nilai tertentu, yang disebut argumen, dalam urutan atau struktur tertentu. Argumen dapat berupa fungsi lain, rumus lain, referensi kolom, angka, teks, nilai logika seperti TRUE atau FALSE, atau konstanta.
DAX mencakup kategori fungsi berikut: Tanggal dan Waktu, Informasi, Logika, Matematika, Statistik, Teks, dan Fungsi Kecerdasan Waktu. Jika Anda sudah terbiasa dengan fungsi dalam rumus Excel, banyak fungsi di DAX yang akan tampak mirip dengan Anda; namun, fungsi DAX unik dengan cara berikut:
- Fungsi DAX selalu mereferensikan kolom atau tabel yang lengkap. Jika ingin menggunakan nilai tertentu dari tabel atau kolom saja, Anda dapat menambahkan filter ke rumus.
- Jika Anda perlu menyesuaikan penghitungan 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 berdasarkan 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 dapat 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 fungsi tersebut. Misalnya, Anda dapat 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 SQL Server Data Tools, menyertakan fitur Fungsi Sisipkan, kotak dialog yang membantu Anda memilih fungsi berdasarkan kategori dan memberikan deskripsi singkat untuk setiap fungsi.
Mari kita buat rumus baru yang menyertakan fungsi yang akan Anda pilih dengan menggunakan fitur Fungsi Sisipkan:
Tugas: Menambahkan fungsi ke rumus menggunakan Fungsi Sisipkan
- Di tabel FactSales, gulir ke kolom paling kanan, lalu di header kolom, klik Tambahkan Kolom.
- Di bilah rumus, ketik tanda sama dengan, =.
- Klik tombol Fungsi Sisipkan .
Ini akan membuka kotak dialog Fungsi Sisipkan . - Dalam kotak dialog Fungsi Sisipkan , klik kotak daftar Pilih kategori . Secara default, Semua dipilih, dan semua fungsi dalam kategori Semua tercantum di bawah ini. Itu banyak fungsi, jadi Anda ingin memfilter fungsi untuk memudahkan menemukan jenis fungsi yang Anda cari.
- Untuk rumus ini, Anda ingin mengembalikan beberapa data yang sudah ada di 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 dua kali fungsi TERKAIT. Klik Ok untuk menutup kotak dialog Fungsi Sisipkan .
- Gunakan IntelliSense untuk membantu Anda menemukan dan memilih kolom DimChannel[ChannelName].
- Tutup rumus, lalu tekan Enter.
- Setelah 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.
- Ganti nama kolom Saluran.
Rumus Anda akan terlihat seperti ini: =RELATED(DimChannel[ChannelName])
Anda baru saja diperkenalkan dengan fungsi lain yang sangat penting di DAX, yaitu fungsi RELATED . Fungsi RELATED mengembalikan nilai dari tabel lain. Anda dapat menggunakan TERKAIT asalkan ada hubungan antara tabel yang Anda gunakan saat ini dan tabel yang berisi nilai yang ingin Anda dapatkan. Tentu saja, fungsi TERKAIT memiliki kemungkinan yang sangat besar. Dalam kasus ini, kini Anda dapat menyertakan saluran penjualan untuk setiap penjualan dalam tabel FactSales. Kini Anda dapat menyembunyikan tabel DimChannel dari daftar bidang PivotTable sehingga memudahkan untuk menavigasi dan hanya melihat informasi terpenting yang benar-benar Anda butuhkan. Mirip seperti fungsi CALCULATE yang dijelaskan sebelumnya, fungsi RELATED sangat penting, dan Anda mungkin akan menggunakannya berkali-kali.
Seperti yang Anda lihat, fungsi di DAX dapat membantu Anda membuat rumus yang sangat kuat. Kami benar-benar hanya menyentuh dasar-dasar fungsi. Seiring bertambahnya keterampilan DAX, Anda akan membuat rumus menggunakan berbagai fungsi. Salah satu tempat terbaik untuk mempelajari detail tentang semua fungsi DAX ada di Referensi Ekspresi Analisis Data (DAX).
Fungsi QuickQuiz
- Apa yang selalu direferensikan oleh fungsi?
- Dapatkah rumus berisi lebih dari satu fungsi?
- Kategori fungsi apa yang akan Anda gunakan untuk menggabungkan dua string teks ke dalam satu string?
Jawaban diberikan 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. Pertama-tama kita akan melihat konteks baris.
Konteks baris
Konteks baris paling mudah dianggap sebagai baris saat ini. Misalnya, ingat kolom terhitung Margin yang Anda lihat sebelumnya saat mempelajari tentang sintaks? Rumus =[SalesAmount] - [TotalCost] menghitung nilai dalam kolom Margin untuk setiap baris dalam tabel. Nilai untuk setiap baris dihitung dari nilai di dua kolom lain, [SalesAmount] dan [TotalCost] di baris yang sama. DAX dapat menghitung nilai untuk setiap baris di kolom Margin karena memiliki konteks: Untuk setiap baris, ia mengambil nilai di kolom [TotalCost] dan menguranginya dari nilai di kolom [SalesAmount].
Dalam sel yang dipilih yang ditunjukkan di bawah ini, nilai, $49,54 dalam 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 difilternya. Jenis konteks baris ini paling sering berlaku untuk pengukuran.
Filter konteks
Konteks filter sedikit lebih sulit dipahami daripada konteks baris. Anda dapat dengan mudah menganggap konteks filter sebagai: Satu atau beberapa filter diterapkan dalam penghitungan yang menentukan hasil atau nilai.
Konteks filter tidak ada sebagai pengganti konteks baris; Sebaliknya, ini berlaku selain konteks baris. Misalnya, untuk lebih mempersempit nilai yang akan disertakan dalam penghitungan, Anda dapat menerapkan konteks filter yang tidak hanya menentukan konteks baris, tetapi juga hanya menentukan nilai tertentu (filter) dalam konteks baris tersebut.
Konteks filter mudah dilihat di PivotTable. Misalnya, ketika Anda menambahkan TotalCost ke area Nilai, lalu menambahkan Tahun dan Kawasan ke Baris atau Kolom, Anda menentukan konteks filter yang memilih subset data berdasarkan tahun dan wilayah tertentu.
Mengapa konteks filter sangat penting bagi DAX? Karena, meskipun konteks filter dapat dengan paling mudah diterapkan dengan menambahkan label kolom dan baris serta pemotong dalam PivotTable, konteks filter juga dapat diterapkan dalam rumus DAX dengan menentukan filter menggunakan fungsi seperti ALL, RELATED, FILTER, CALCULATE, by relationship, dan dengan ukuran dan kolom lainnya. Misalnya, mari kita lihat rumus berikut dalam pengukuran bernama StoreSales:
Jelas, rumus ini lebih kompleks daripada beberapa rumus lain yang pernah Anda lihat. Namun, untuk lebih memahami rumus ini, kita dapat memecahnya, seperti yang telah kita lakukan dengan rumus lain.
Rumus ini mencakup elemen sintaksis berikut:
- Nama ukuran StoreSales, diikuti dengan titik dua :.
- Operator tanda sama dengan (=) menunjukkan awal rumus.
- Fungsi CALCULATE mengevaluasi ekspresi, sebagai argumen, dalam konteks yang dimodifikasi oleh filter yang ditentukan.
- Tanda kurung () mengelilingi satu atau beberapa argumen.
- Ukuran [Sales] dalam tabel yang sama dengan ekspresi. Ukuran Penjualan memiliki rumus: =SUM(FactSales[SalesAmount]).
- Koma (,) memisahkan setiap filter.
- Kolom yang direferensikan dan nilai tertentu, DimChannel[ChannelName] ="Store", sebagai filter.
Rumus ini akan memastikan hanya nilai penjualan, yang ditentukan oleh ukuran Penjualan, sebagai filter, yang dihitung hanya untuk baris di kolom DimChannel[ChannelName] dengan nilai "Store", sebagai filter.
Seperti yang dapat Anda bayangkan, mampu mendefinisikan konteks filter dalam rumus memiliki kemampuan yang sangat besar dan kuat. Kemampuan untuk mereferensikan hanya nilai tertentu dalam tabel terkait hanyalah salah satu contohnya. Jangan khawatir jika Anda tidak langsung memahami konteks sepenuhnya. Saat membuat rumus Anda sendiri, Anda akan lebih memahami konteks dan mengapa konteks tersebut sangat penting di DAX.
Konteks Kuis Cepat
- Apa dua jenis konteks tersebut?
- Apa itu konteks filter?
- Apa itu konteks baris?
Jawaban diberikan di akhir topik ini.
Ringkasan
Setelah Anda memiliki pemahaman dasar tentang konsep terpenting dalam DAX, Anda dapat mulai membuat rumus DAX untuk kolom dan pengukuran terhitung sendiri. DAX memang 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 dapat mempelajari lebih lanjut tentang konsep dan rumus DAX lainnya yang dapat membantu Anda memecahkan masalah bisnis Anda sendiri. Ada banyak sumber daya DAX yang tersedia untuk Anda di Bantuan Power Pivot, SQL Server Books Online, laporan resmi, dan blog dari Microsoft dan para profesional BI terkemuka. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) adalah tempat yang bagus untuk memulai. Referensi Ekspresi Analisis Data (DAX) juga merupakan sumber daya yang bagus. Pastikan untuk menyimpannya di Favorit Anda.
DAX dalam laporan resmi Model Tabel BI, tersedia untuk diunduh (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) memberikan gambaran yang lebih mendetail tentang konsep yang diperkenalkan di sini serta banyak konsep dan rumus tingkat lanjut lainnya. Laporan resmi ini juga menggunakan buku kerja Formulas.xlsx Contoh Contoso DAX yang sama dengan yang sudah Anda miliki.
Jawaban Kuis Cepat
Sintaks:
- Membuka fitur Fungsi Sisipkan.
- Tanda kurung [].
- =[Harga Satuan] - [Biaya Satuan]
Fungsi:
- Tabel dan kolom.
- Ya. Rumus dapat berisi hingga 64 fungsi bertumpuk.
- Fungsi teks.
Konteks:
- Konteks baris dan konteks filter.
- Satu atau beberapa filter dalam penghitungan yang menentukan satu nilai.
- Baris saat ini.