Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Dalam catatan blog ini, kami akan melihat soalan yang ditanya pada forum LuckyTemplates dan menggunakan teknik LuckyTemplates bahasa DAX untuk menyelesaikannya. Sekiranya anda ingin mengikuti dan memuat turun fail, hanya lawati forum LuckyTemplates dan pergi ke . Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Untuk menerangkan senario yang akan kami bahas, kami mempunyai jadual ringkas sebagai contoh. Dalam lajur pertama, kami mempunyai tahap Kewangan 1 . Dalam lajur kedua, kami mempunyai tarikh yang dinamakan Selesai. Dalam lajur terakhir, kami mempunyai gabungan tahap kewangan dan tarikh siap, yang akan kami namakan Hasil .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kemudian kami mempunyai penghiris untuk Tarikh dan Nama Pelanggan .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Apa yang kita mahu lakukan untuk tempoh masa tertentu ialah mengenal pasti tiga tarikh teratas yang bukan sifar. Dan kemudian dalam tiga tarikh teratas tersebut, kami ingin mengenal pasti tahap kewangan.

Dalam versi pertama ukuran, saya menyenaraikan tarikh yang kurang daripada 29/4/2021 di mana kami mempunyai sedikit hasil.

Dan pada tarikh ini, kami ingin mengenal pasti tahap kewangan yang telah menghasilkan sedikit hasil. Saya akan menerangkan kepada anda bagaimana kita boleh mencapai pengiraan itu.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Isi kandungan

Pemodelan Data

Sebelum menulis DAX sebenar, mari kita lihat dengan pantas model data yang mengandungi berbilang jadual. Kami hanya berminat dengan jadual Tarikh , jadual Data , jadual kategori pekerjaan dan jadual Pelanggan .

Ambil perhatian bahawa jadual Pelanggan tidak begitu penting kerana ia hanya digunakan di dalam penghiris.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Ukuran hasil semakin dikira dalam jadual Data. Kategori Pekerjaan mengandungi tahap kewangan yang kita ada pada matriks. Kemudian kami menggunakan lajur Tarikh daripada jadual Tarikh dalam penghiris kami.

Versi 1

Mari kita buang segala-galanya dari matriks dan mulakan dari awal. Saya akan mencipta ukuran baharu dan memanggilnya V1 kerana ini akan menjadi versi satu. Kami akan melihat dua variasi lain juga.

Menyediakan Konteks Penapis

Perkara pertama yang akan kami lakukan ialah mendapatkan semula semua nilai tahap kewangan daripada konteks penapis. Kami akan mencipta dan menamakannya sebagai FinancialLevelInFilterContext .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Untuk mendapatkan semula nilai daripada konteks penapis, kami akan menggunakan pada jadual kategori Pekerjaan yang mengandungi lajur tahap kewangan. Kemudian kita perlu mencipta pembolehubah lain dan namakannya Result . Kemudian tulis , dan tutupnya juga.

Dalam hujah pertama, kami mempunyai pilihan ke atas penghiris tarikh. Dalam tarikh tersebut, kami ingin mengenal pasti tarikh yang tidak mempunyai 0 dan mempunyai sekurang-kurangnya sedikit hasil.

Jika anda ingin mengakses semua tarikh yang dipilih dalam penghiris itu, kita perlu menggunakan pada jadual Tarikh.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Dan kerana kami mempunyai tahap kewangan pada matriks, kami juga perlu memastikan bahawa kami mengalih keluar nilai tertentu itu daripada konteks penapis. Kita boleh menggunakan pada kategori Pekerjaan dan kemudian tulis Tahap Kewangan 1.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Sekarang setelah konteks penapis kami disediakan, kami boleh menulis pengiraan paling dalam untuk CALCULATE. Pertama, kami akan mengisytiharkan pembolehubah, yang akan menjadi gabungan tahap kewangan dan lajur tarikh seperti yang telah kita lihat dalam jadual pertama.

Kemudian kami akan menggunakan dan menggunakan jadual Data untuk meringkaskan kedua-dua jadual ini: Kategori kerja dan jadual Tarikh.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Ini akan menyediakan gabungan tahap kewangan dan lajur tarikh yang wujud dalam jadual Data. Kemudian kita akan mencipta pembolehubah lain di mana kita akan menyimpan nilai baris hasil untuk pembolehubah pertama yang telah kita buat.

Nama pembolehubah ini ialah FinancialLevelAndDatesWithRevenue . Kod pembolehubah ini akan menjadi berbanding pembolehubah sebelumnya. Kemudian kami akan mencipta lajur maya yang akan menjadi Hasil untuk memulakan peralihan konteks. Jadi untuk setiap baris pembolehubah ini, kami telah menetapkan hasil.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Jadual ini mengandungi hasil, yang juga mempunyai sifar. Kita perlu menapis baris tersebut dengan sifar. Untuk melakukan ini, kita boleh mencipta pembolehubah lain dan menamakannya sebagai RemoveZeroes .

Kami akan menggunakan pada pembolehubah sebelumnya, kemudian pastikan hasil tidak akan sama dengan sifar. Ia boleh lebih besar daripada sifar atau kurang daripada sifar, tetapi tidak sepatutnya sama dengan sifar.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Dan kemudian kita akan mendapatkan semula tarikh daripada pembolehubah RemoveZeroes . Untuk melakukan ini, kita boleh mencipta pembolehubah lain dan menamakannya KeepOnlyDates .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Saya boleh menggunakan untuk menyingkirkan tarikh pendua yang akan dikembalikan oleh .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Seterusnya, kami akan mengenal pasti tiga tarikh teratas dalam susunan menurun. Kami akan menggunakan pembolehubah lain dan menamakannya Last3Dates , kemudian gunakan .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kemudian kami akan menggunakan sepanjang tiga tarikh terakhir dalam lajur tarikh, kemudian gunakan pembatas.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Mari seret dan lepaskan ukuran yang baru kami buat di dalam matriks itu. Keputusan yang kami perolehi ialah 31/03/2021, 07/04/2021, dan 02/04/2021. Ini bermakna langkah kami berfungsi.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Mari kita kembali kepada editor dan buang bahagian RETURN CONCATENATEX. Untuk mendapatkan semula tiga tarikh terakhir tersebut, apa yang boleh kita lakukan ialah menyemak baris mana daripada pembolehubah RemoveZeroes sebenarnya sebahagian daripada tiga tarikh terakhir tersebut.

Dan untuk itu, kami akan mencipta satu lagi pembolehubah DatesInLast3Dates , dan menggunakan fungsi FILTER pada RemoveZeroes . Ini akan mengembalikan jadual yang terdiri daripada kategori Pekerjaan dan Tarikh.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kami akan meringkaskan lajur hasil yang telah kami buat di dalam jadual itu. Mari kembalikan SUMX ke atas DatesInLast3Dates, kemudian ringkaskan lajur hasil.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Dengan pengiraan ini, kami hanya mendapat satu nilai tunggal untuk setiap baris, kerana kami telah mengalih keluar kategori Pekerjaan daripada konteks penapis.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kami akan menggunakan pembolehubah yang telah kami buat pada mulanya untuk menyemak sama ada setiap baris pembolehubah DatesInLast3Dates tersedia dalam konteks penapis. Kita boleh menulis pembolehubah lain dan menamakannya IsInFilterContext .

Ini akan menapis tarikh dalam pembolehubah DatesInLast3Dates . Kemudian saya akan mengembalikan SUMX ke atas konteks IsInFilter dan meringkaskan lajur hasil.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Sebaik sahaja kami menekan Enter , anda boleh melihat bahawa kami mendapat hasil yang sama seperti yang kami perolehi pada mulanya.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Mengesahkan Keputusan Pengiraan BI Kuasa Bahasa DAX

Untuk mengesahkan bahawa kami sebenarnya mendapat hasil yang betul, kami boleh mencipta jadual CALCULATE baharu yang akan membantu kami dalam penyahpepijatan, mengenal pasti dan mengesahkan bahawa kod yang telah kami tulis setakat ini sebenarnya mengembalikan hasil yang betul.

Mari buat salinan kod yang telah kami tulis setakat ini. Saya hanya akan menyalin bahagian yang diserlahkan di bawah, kembali untuk membuat jadual baharu dan tampal kod yang diserlahkan. Kami tidak akan bersusah payah menamakan jadual ini kerana ia tidak menarik minat kami.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Dan kita hanya boleh menulis RETURN DatesInLast3Dates . Jika saya mengklik Sahkan , kita mendapat jadual tetapi kita tahu bahawa ia sebenarnya belum mengembalikan hasil yang betul kerana kita sebenarnya perlu meniru gelagat penghiris.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kita boleh membungkus kod itu di dalam CALCULATETABLE dan mengesot segala-galanya. Pada bahagian terakhir, saya akan menulis bahawa tarikh itu hendaklah lebih besar daripada atau sama dengan 2021-03-15 dan nama pelanggan hendaklah sama dengan Rantaian Bekalan DHL .

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Jadual yang telah kami buat di dalam ukuran itu hampir mengembalikan hasil yang betul. Kami boleh menggunakan CALCULATETABLE untuk mengesahkan jadual maya yang anda buat di dalam pengiraan anda.

Pengiraan BI Kuasa Bahasa DAX yang lain

Sekarang setelah kita tahu bahawa pengiraan kita berfungsi dan memahami apa yang sebenarnya berlaku di sebalik tabir, kita boleh melihat kaedah lain untuk mengira masalah yang sama. Pertama sekali, mari kita buat pendua ukuran yang telah kita buat.

Versi 2

Kali ini, kami tidak akan bergantung pada fungsi NILAI dan FILTER, jadi kami akan menyingkirkannya. Kami akan mengalih keluar hasil pulangan, serta pembolehubah terakhir yang telah kami buat di dalam CALCULATE. Kemudian, kami akan menukar CALCULATE kepada CALCULATETABLE.

Dan bukannya mengembalikan nilai skalar, kali ini kita akan mengembalikan DatesInLast3Dates . Ini akan mengembalikan BOLEH KIRA yang sama yang kami buat sebelum ini. Kami akan menggunakan fungsi CALCULATE, dan dalam hujah pertama, kami akan mengira ukuran hasil dan menyuntik CALCULATETABLE sebagai konteks penapis.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Sebaik sahaja saya membawanya ke matriks, anda dapat melihat bahawa kami mengembalikan nilai jumlah besar yang sama untuk setiap sel.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Menggunakan Fungsi KEEPFILTERS

Pada masa ini, kami tahu bahawa pengiraan di belakang tabir berfungsi dengan betul, tetapi bagaimana kami boleh mengetahui dengan pasti bahawa untuk setiap sel, kami hanya melaporkan nilai untuk tahap kewangan tersebut?

Dengan bantuan CALCULATETABLE, kami telah mencipta jadual yang mengandungi tahap kewangan, lajur tarikh dan lajur hasil. Kita boleh menggunakan fungsi penapis utama untuk mencipta persilangan antara konteks penapis yang wujud di luar CALCULATETABLE dan yang sedang dibuat oleh CALCULATETABLE.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Sebaik sahaja kami mengklik pada Sahkan, kami dapat melihat bahawa kami melaporkan nilai yang betul untuk setiap sel dan kedua-dua versi 1 dan versi 2 mengembalikan nilai yang betul.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Jadi bagaimana ini berfungsi? Jadual CALCULATE akan mengembalikan tahap Penyelenggaraan , kemudian Rental , Service External , dan Alat ganti . Fungsi akan mewujudkan persimpangan antara penyelenggaraan dan jadual itu.

Sewaan akan mencipta konteks penapis awal, kemudian CALCULATETABLE akan mengembalikan semua nilai kategori Pekerjaan. Kemudian akan ada persimpangan antara Rental dan jadual yang dikembalikan oleh CALCULATETABLE. Kami hanya akan mengembalikan jadual atau baris untuk bahagian Sewaan itu sahaja.

Dan akhirnya, apabila kami menyuntik SUMMARIZE ke dalam konteks penapis, fungsi CALCULATE akan mengira hasil hanya untuk Sewaan. Proses yang sama berlaku untuk setiap baris.

Versi 3

Mari lihat cara lain untuk mengira pengiraan yang sama menggunakan bahasa DAX LuckyTemplates. Mari buat salinan ukuran Versi 2 dan buat ukuran lain. Kami akan menamakan Versi 3 ini.

Idea di sebalik pengiraan ini ialah memandangkan kita sedang mengira hasil menggunakan fungsi CALCULATE, kita tidak perlu menggunakan bahagian ADDCOLUMNS kerana kita sedang menduplikasi perkara yang sama di dalam dan di luar CALCULATE. Sebaliknya, kita hanya boleh menulis bahawa Hasil tidak sepatutnya sama dengan 0.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Sebaik sahaja saya mengklik pada Sahkan, kita perlu memastikan bahawa kod itu berfungsi jadi mari kita seret ukuran ke dalam matriks.

Anda boleh melihat bahawa kod itu sebenarnya mengembalikan nilai yang sama untuk setiap sel.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Jika saya cuba menukar konteks penapis dengan menukar tarikh dalam penghiris Tarikh dan memilih beberapa nilai daripada Nama Pelanggan, anda boleh melihat bahawa ketiga-tiga ukuran sebenarnya mengembalikan nilai yang sama untuk setiap baris.

Tutorial DAX Language LuckyTemplates Mengenai Reverse TOPN

Kesimpulan

Dalam tutorial ini, kami belajar cara menggunakan logik kompleks untuk merentasi masa dari tarikh tamat untuk mengenal pasti tiga tarikh teratas. Berdasarkan teknik LuckyTemplates bahasa DAX ini, kami dapat mengira hasil dan hanya menunjukkan nilai yang wujud dalam konteks penapis. Itu sahaja buat masa ini dalam tutorial ini.


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu