Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Saya ingin memberi tumpuan hari ini pada sesuatu yang saya panggil perangkap DAX tersembunyi. Jika anda menghadapi situasi ini, ia akan membuatkan anda berasa seperti hilang akal kerana DAX anda akan kelihatan betul, tetapi ia tidak akan berfungsi. Saya akan membimbing anda apabila perkara itu berlaku dan perkara yang boleh anda lakukan mengenainya, dan dalam proses itu, juga bercakap tentang beberapa amalan terbaik pengoptimuman DAX umum. Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.

Mula-mula mari kita lihat apa yang sedang kita usahakan di sini. Kami mempunyai kira-kira 10 tahun data daripada Pangkalan Data Filem Internet. Jadual fakta agak mudah dan kami mempunyai data penilaian, data belanjawan dan data kasar.

Hari ini, kita akan melihat kutipan kasar di seluruh dunia.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Kami juga mempunyai jadual tarikh lanjutan kami. Ini akan menjadi analisis risikan masa berdasarkan jadual tarikh dan jadual fakta.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Isi kandungan

Jumlah Kasar Seluruh Dunia Setahun

Kami mahu melakukan sesuatu yang sangat biasa dan mudah. Jumlah Kasar Seluruh Dunia kami hanyalah ukuran jumlah agregat yang sangat mudah, yang kami mahu tukarkan kepada peratusan.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Untuk melakukan ini, kami mengambil pengangka ( Jumlah Ukuran Kasar Seluruh Dunia) dan penyebut ( Jumlah Ukuran Kasar Seluruh Dunia, tetapi mengalih keluar konteks daripada penapis tahun).

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Saya menggunakan kerana saya fikir ia lebih intuitif apabila anda membaca kod, tetapi jika anda lebih suka , ia juga berfungsi. Kami hanya membahagikan pengangka dengan penyebut untuk mendapatkan hasilnya.

Jika kami mengambil ukuran yang terhasil dan meletakkannya ke dalam jadual kami, anda akan melihat bahawa ia melakukan apa yang kami harapkan. Kami mendapat 100% di bahagian bawah dan kami mendapat tahun ditukar kepada peratusan individu mereka. Setakat ini begitu baik, dan kami tidak menghadapi sebarang masalah lagi.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Jumlah Kasar Seluruh Dunia Setiap Suku Tahun

Mari kita lihat situasi yang sama di mana kita pergi mengikut suku tahun. Langkah ini mungkin berguna kerana terdapat hipotesis bahawa kutipan hasil daripada musim filem musim panas adalah berbeza dari awal tahun dan menjelang akhir tahun yang membawa kepada musim Oscar.

Sekali lagi, kami mempunyai ukuran yang sama dengan fungsi REMOVEFILTERS pada nombor suku dan bukannya tahun.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Dan jika kita menjatuhkan ukuran yang baru kita buat ke dalam jadual, ia juga melakukan apa yang kita harapkan.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Jumlah Kasar Seluruh Dunia Sebulan & Tahun

Mari kita lihat kes ketiga, yang boleh menjadi perkara biasa, di mana kita ingin melihat mengikut bulan dan tahun.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Dan sekali lagi, kami akan menggunakan ukuran yang sama seperti sebelumnya. Tetapi kali ini, kami akan mengalih keluar penapis pada bulan dan tahun.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Mari letak yang itu ke dalam meja kita. Tiba-tiba ia tidak berfungsi.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Kami boleh memberitahu apa yang tidak berkesan mengenainya. Kami tahu bahawa ukuran Kasar Seluruh Dunia berfungsi, jadi ini bermakna pengangkanya baik, tetapi penyebutnya tidak. Dalam setiap kes sebelumnya, fungsi REMOVEFILTERS mengalih keluar penapis dengan betul, tetapi di sini, jelas tidak.

Kami sebenarnya boleh menguji perkara ini dengan menukar apa yang kami kembalikan di sini dalam hasilnya.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Daripada Result, mari kita gunakan Denominator. Perlu diingat bahawa ini akan diformatkan dalam peratusan supaya ia akan kelihatan sedikit lucu.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Apa yang sepatutnya kita perolehi untuk penyebut ialah nombor yang sama dalam setiap baris, tetapi tidak.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Kami boleh memberitahu ia tidak mengalih keluar penapis pada bulan dan tahun, dan fikir ia adalah kerana Bulan & Tahun terdapat dalam teks.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Tetapi yang sebelumnya untuk suku tahun juga dinyatakan dalam teks, jadi ini bukan semata-mata kerana teksnya. Ia hanya perlu diselesaikan. Sebaik sahaja anda menjatuhkan medan tanpa mengisihnya, ia akan mengisih mengikut abjad.

Dalam jadual tarikh lanjutan, mari kita lihat medan yang dipanggil Bulan & Tahun . Jika kita melihatnya dalam lajur Isih mengikut , kita akan melihat sesuatu yang menarik.

Kita akan melihat bahawa lajur itu diisih mengikut angka yang dipanggil MonthnYear. Apabila anda mengisih satu lajur dengan yang lain, lajur isihan itu sebenarnya menjadi sebahagian daripada konteks penapis. Inilah yang membatalkan pengiraan ini.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Mari kita kembali kepada ukuran kami dan alih keluar konteks bulan dan tahun yang kami gunakan sebagai jenis kami.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Kami kini mendapat apa yang sepatutnya, iaitu bulan dan tahun yang dikira sebagai peratusan yang betul.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Apabila mengalih keluar konteks penapis, ia akan mengambil dua medan untuk melakukan ini apabila ia diisih . Anda mungkin bertanya bahawa daripada perlu melakukan dua medan di sini, mengapa kita tidak boleh mengalih keluar penapis pada keseluruhan jadual tarikh?

Jawapannya ialah kita boleh, dan ini akan berfungsi untuk tiga contoh yang kita bincangkan kerana setiap lajur tersebut adalah sebahagian daripada jadual tarikh kita. Mengalih keluar semua konteks penapis pada jadual itu akan berfungsi untuk ketiga-tiga kes, tetapi ini sebenarnya idea yang tidak baik.

Sebagai prinsip pengoptimuman DAX umum, anda perlu mengalih keluar sebanyak mungkin konteks penapis yang diperlukan untuk mendapatkan hasil yang anda inginkan.

Dalam kebanyakan kes, anda tidak akan membentangkan ini dalam format jadual. Anda akan membentangkannya sebagai matriks dan anda memerlukan ukuran yang lebih kompleks kerana anda mempunyai dua butiran berbeza dalam lajur yang sama. Langkah ini kelihatan rumit, tetapi sebenarnya tidak.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Ini hanyalah lanjutan daripada apa yang telah kami lakukan. Bahagian pertama pengiraan pengoptimuman DAX ini menunjukkan penyebut untuk kebutiran yang berbeza. Kami mengalih keluar konteks penapis selama sebulan, untuk tahun dan untuk keseluruhan jadual.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Untuk bahagian kedua pengiraan, kami menggunakan SWITCH TRUE. Untuk fungsi ini, anda perlu pergi daripada yang paling khusus kepada yang paling tidak khusus. Bulan adalah skop kami yang paling ketat dan paling khusus, jadi di sinilah kami bermula. Kami perlu mengalih keluar konteks menggunakan dua medan yang kami kenal pasti.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Untuk skop tahun, kita perlu mengalih keluar konteks pada tahun dan mengalih keluar konteks pada keseluruhan jadual.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Mari kita lihat apa yang berlaku jika kita mengambil dan mengalih keluar konteks pada keseluruhan jadual tarikh . Kami akan menggunakan ukuran berbeza yang mengalih keluar konteks pada keseluruhan jadual tarikh untuk ketiga-tiga kes.

Pengoptimuman DAX: Di Mana Untuk Mencari Perangkap DAX Tersembunyi

Kita akan melihat bahawa ukuran itu terlalu mengalih keluar konteks. Daripada mengira sumbangan setiap bulan kepada tahun itu, ia mengira sumbangan bulan itu kepada keseluruhan set data. Ini bukan perkara yang kita mahu berlaku kerana mengalih keluar konteks dari keseluruhan jadual sebenarnya hanyalah instrumen tumpul apabila pisau bedah diperlukan.

Kesimpulan

Terdapat banyak keadaan di mana anda mempunyai matriks dan anda perlu mengawal dengan teliti konteks yang anda alih keluar. Untuk hanya mengalih keluar konteks pada keseluruhan jadual akan menyebabkan masalah seperti ini.

Saya harap apabila situasi ini timbul (yang akan berlaku, pada satu ketika), anda akan mengenalinya sebagai perangkap tersembunyi yang telah kami bincangkan pada siaran pengoptimuman DAX ini, dan anda akan dapat mengelakkannya tanpa kekecewaan yang sama bahawa ia menyebabkan saya apabila saya mula-mula melihatnya dan tidak dapat mengetahui mengapa DAX saya tidak berfungsi dengan betul.

Jika anda menikmati topik pengoptimuman DAX yang diliputi dalam tutorial khusus ini, sila langgan saluran TV LuckyTemplates . Kami mempunyai sejumlah besar kandungan yang keluar sepanjang masa daripada saya sendiri dan pelbagai pencipta kandungan, yang kesemuanya berdedikasi untuk menambah baik cara anda menggunakan LuckyTemplates dan Power Platform.


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