Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Dalam tutorial hari ini, saya akan memberikan beberapa teknik dan petua tentang cara menangani masalah biasa yang disebabkan oleh butiran mingguan DAX dalam pengiraan risikan masa. Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.
Saya baru-baru ini membuat tutorial untuk mendapatkan Nilai Minggu Sebelumnya dalam LuckyTemplates. Sejak itu, saya mempunyai beberapa soalan yang berkaitan dengan kecerdasan masa dan khususnya berkaitan dengan nilai mingguan DAX. Itu tidak menghairankan kerana minggu benar-benar butiran yang paling berkelakuan buruk dalam sfera risikan masa.
Dalam kes bulan, anda sentiasa mendapat 12 bulan dalam setahun. Dalam kes suku, anda sentiasa mendapat empat suku. Minggu berbeza kerana terdapat tujuh hari dalam seminggu dan 52 minggu dalam setahun – iaitu 364 hari. Jadi, anda mempunyai hari tambahan untuk melepak di sana. Dalam tahun Lompat, anda mempunyai dua hari tambahan.
Jadi, itu sebenarnya berakhir dalam beberapa tahun, berdasarkan skema penomboran untuk nombor minggu ISO, kadang-kadang mempunyai 52 minggu, kadang-kadang 53 minggu. Minggu ke-53 adalah minggu yang akan menyebabkan paling banyak masalah.
Isi kandungan
Isu Kecerdasan Masa Pengiraan Mingguan DAX
Dalam contoh ini, saya menggunakan Jumlah Harga Tempat. Dengan jumlah, lebih mudah untuk digambarkan dan dibincangkan.
Dalam kes ini, untuk setiap tahun, kami ingin menunjukkan baris untuk minggu 53, sama ada terdapat minggu 53 pada tahun itu atau tidak. Jadi, anda boleh lihat pada tahun 2018 dan 2019, tidak ada minggu ke-53, tetapi pada tahun 2020, ada. Kami mahu memastikannya konsisten supaya barisan ke-53 berada dalam setiap tahun. Tetapi kemudian, metrik akan kosong untuk tahun-tahun yang tidak ada tahun ke-53.
Salah satu cara biasa yang kami lakukan ialah pergi Tunjukkan item tanpa data dan pastikan ia dihidupkan. Dalam kes ini, ia dihidupkan, tetapi ia tidak akan membantu kerana ia berfungsi apabila anda mempunyai baris fizikal, tetapi hanya tiada data yang dikaitkan dengan baris itu. Dalam kes ini, kami tidak mempunyai barisan pun.
Teknik seperti menggunakan atau Buang Penapis tidak akan berfungsi kerana tiada apa-apa untuk dialih keluar. Penapis pada baris itu tidak wujud. Jadi, persoalannya ialah bagaimana kita memasukkan baris itu ke dalam setiap tahun di mana ia tidak wujud? Dan kemudian, ini benar-benar menjadi masalah pemodelan data.
Salah satu perkara yang berpotensi kami lakukan ialah pergi ke skema kepingan salji di mana kami menapis jadual Tarikh dengan sesuatu yang akan memaksa minggu ke-53 itu ke dalam visual kami setiap tahun. Fungsi yang terlintas di fikiran untuk ini ialah .
CROSSJOIN digunakan untuk memadankan dua medan bersama-sama yang mungkin mempunyai hubungan atau tidak. Mereka tidak perlu mempunyai hubungan tidak seperti kebanyakan atau , atau fungsi jadual lain.
Dalam kes ini, CROSSJOIN mengambil dua lajur dan mencipta setiap gabungan dua lajur tersebut, sama ada yang wujud dalam set data atau tidak. Itulah yang kita mahukan.
Kami mempunyai kami untuk membuat jadual daripada lajur. CROSSJOIN mengambil dua jadual dan kemudian NILAI pada nombor minggu ISO, dan kami hanya memadankannya bersama-sama. Itu akan memberi kita 53 minggu setiap tahun.
Dan kemudian, kami menambah lajur ketiga pada jadual. Kami boleh melakukan ini dalam Power Query, tetapi lebih mudah untuk menunjukkan kepada anda logik dalam DAX. Apa yang kami lakukan di sini ialah kami sebenarnya mengambil dan menggabungkan Tahun dengan tanda sempang, dan kemudian nombor minggu, supaya kami mempunyai medan utama untuk menyertainya ke jadual Tarikh.
Walau bagaimanapun, kita perlu melakukan sedikit lagi kerja di sini kerana cara medan utama berfungsi dalam jadual Tarikh ialah ia adalah tanda sempang Tahun empat digit dan kemudian minggu dua digit. Jadi, dalam kes di mana nombor minggu ISO ialah dua digit, kita hanya boleh melakukan penggabungan mudah. Dalam kes di mana ia adalah satu digit, kita perlu mengambil nombor tahun dan kemudian menggabungkannya dengan tanda sempang, kemudian sifar pendahuluan, dan kemudian nombor minggu.
Setelah kami mendapatnya, kami boleh mengambil jadual itu dalam model data dan mencari lajur Minggu & Tahun kami. Kemudian, kami menyertai mereka dalam hubungan satu-ke-banyak. Saya sentiasa suka menghidupkan pilihan ini pada medan berkaitan Pin ke bahagian atas kad supaya apabila kami menyemaknya, kami dapat melihatnya serta-merta.
Jika kita kembali kepada visual, kita perlu menukar baris. Daripada nombor Tahun & Minggu, kami mahu menggunakan nombor Tahun & Minggu dari jadual CROSSJOIN. Dan sekarang, kami mempunyai minggu ke-53 pada 2018 dengan kosong, dan minggu ke-53 pada 2019 dengan kosong. Pada tahun 2020, kami mempunyai nombor sebenar kerana ia mempunyai minggu ke-53.
Kita boleh berhenti di sini, kecuali fakta bahawa kita kini telah keluar daripada model Skema Bintang. Pada bila-bila masa anda beralih daripada Skema Bintang dalam LuckyTemplates, anda bergerak di luar bidang yang biasanya dianggap sebagai amalan terbaik.
Oleh itu, untuk Skema Snowflake, ia bukanlah satu pelanggaran yang besar. Terdapat kes di mana anda pasti mahu menggunakannya, tetapi jika anda boleh mengelakkannya, cuba. Ia mengurangkan pertindihan, tetapi tidak semestinya saiz. Ia membolehkan anda menggunakan langkah kiraan lurus, tetapi terdapat isu prestasi dan potensi isu kebolehgunaan, dan pastinya peningkatan dalam kerumitan DAX. Ia menghalang anda daripada membina hierarki merentas jadual, dan mungkin yang paling bermasalah ialah ia benar-benar boleh mengacaukan keupayaan anda untuk menyegerakkan penghiris merentas medan yang berbeza.
Jadi, sementara ini menyelesaikan masalah, ia melakukannya dengan cara yang tidak bagus. Mari lihat sama ada kita boleh melakukan lebih baik daripada ini. Mari beralih ke model data yang lain. Dalam model ini, saya telah mengambil data yang sama, tarikh dan harga spot, tetapi kali ini saya telah mengalih keluar jadual CROSSJOIN. Ia masih wujud, tetapi ia tidak bersambung.
Tetapi jika kita melihat DAX, kita akan melihat bahawa ia adalah DAX yang sama yang mencipta jadual itu dalam laporan lain. Jadi, daripada menyambungkannya dalam hubungan fizikal, dan kemudian melanggar Skema Bintang, dan menukarnya menjadi Skema Kepingan Salji, kami boleh mengekalkan Skema Bintang dan hanya menggunakan hubungan maya.
Untuk melakukan itu, kami akan menggunakan fungsi yang dipanggil . Ia mewujudkan hubungan itu antara jadual tetapi melakukannya secara maya. Kami melakukannya menggunakan kerana kami akan mengubah konteks. Dalam kes ini, konteksnya adalah berkenaan dengan perhubungan. Jadi, kami telah mendapat Jumlah Harga Tempat kami, dan kemudian kami mempunyai TREATAS. Kami mempunyai untuk menukar lajur itu menjadi jadual.
Dan kemudian, kami mempunyai medan Tahun & Minggu, yang merupakan kunci yang kami buat. Kami telah menyertainya secara maya ke Minggu & Tahun dalam jadual Tarikh. Jadi sekarang kami mempunyai jadual Crossjoint yang menapis jadual Tarikh dengan cara yang sama seperti yang dilakukan semasa kami mempunyai hubungan fizikal, tetapi tanpa melanggar Skema Bintang.
Kami kini boleh mengambil dan menurunkan Jumlah Harga Tempat TREATAS ke dalam matriks dan apa yang kami lihat adalah jumlah yang sama. Dengan cara ini, kami telah melakukannya tanpa mengganggu model data kami dan menanggung sebarang keburukan yang kami bincangkan berkaitan dengan Skema Kepingan Salji.
Dapatkan Nilai LuckyTemplates Minggu Sebelum Menggunakan DAX & Power Query
Mengira Jualan Mingguan w/DAX Dalam LuckyTemplates
Time Intelligence Dalam DAX: Cara Memilih Tempoh Permulaan Secara Dinamik
Kesimpulan
Dalam tutorial ini, saya telah menunjukkan kepada anda beberapa cara untuk menangani isu pengiraan mingguan DAX dalam LuckyTemplates. Salah satunya adalah dengan menggunakan CROSSJOIN, tetapi ia mempunyai beberapa kelemahan. Cara kedua ialah dengan menggunakan TREATAS, mewujudkan hubungan maya, dan tidak melanggar pendekatan Skema Bintang.
Itu adalah salah satu teknik yang cukup berguna untuk menangani masalah minggu 53 itu. Saya harap anda mendapati ia berguna. Saya ingin tahu pendapat anda tentang perkara ini. Beritahu saya dalam komen di bawah.
Semua yang terbaik,
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
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.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
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.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
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