Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Saya ingin menyelam lebih mendalam tentang sesuatu yang dipanggil analisis gabungan. Ini boleh ditakrifkan sebagai pemilihan dan penyusunan elemen set mengikut peraturan yang ditetapkan. Ia mungkin terdengar esoterik, tetapi ia sebenarnya mempunyai beberapa kes penggunaan yang sangat praktikal. Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.

Dalam tutorial ini, saya akan menunjukkan kepada anda cara melakukan ini menggunakan Power Query dalam LuckyTemplates.

Isi kandungan

Contoh Kes Analisis Gabungan

Dalam analisis gabungan contoh ini, tugasnya ialah kami mempunyai senarai enam gudang dan kami perlu menjana setiap set unik tiga. Kedengarannya seperti masalah yang agak mudah, tetapi ini adalah salah satu kes di mana bahasa sangat penting.

Jawapan yang betul di sini ialah sama ada 216, 120, 56 atau 20. Jadi, bergantung pada cara anda mentakrifkan set unik itu dan peraturan yang anda tetapkan, anda boleh terkeluar dengan faktor 10 jika anda tidak mendapat set itu dengan betul.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Oleh itu, terdapat dua dimensi yang penting di sini. Yang pertama ialah " adakah pesanan penting ?" Jadi apabila kita bercakap tentang tiga set tiga, adakah ABC bersamaan dengan BCA? Jadi adakah pesanan penting? Dan jika pesanan penting , kita bercakap tentang pilih atur .

Contoh pilih atur yang baik di mana pesanan boleh menjadi penting ialah (kita bercakap tentang konteks gudang) dalam kes masa perjalanan. Mungkin jika anda melawat gudang A, kemudian gudang B, dan kemudian gudang C, masa perjalanan disebabkan aliran trafik dengan trafik melawan trafik, masa anda tiba di setiap gudang, mungkin agak berbeza bergantung pada pesanan di mana anda melawat mereka.

Bahagian sebaliknya ialah " perintah tidak penting ", dalam hal ini kita bercakap tentang gabungan , bukan pilih atur. Kes penggunaan di sini yang biasa adalah jarak. Sebagai contoh, semasa burung gagak terbang, jarak dari A ke B ke C tidak akan berbeza daripada jarak dari B ke C ke A. Ia akan dipertimbangkan dalam konteks gabungan.

Gabungan dianggap pendua antara satu sama lain. Manakala, dalam konteks pilih atur, mereka akan dianggap unik.

Oleh itu, seperti yang anda boleh lihat, kunci gabungan sepatutnya menjadi kunci pilihatur kerana dalam kes itu, perintah itu penting, menjadikannya pilih atur, bukan gabungan.

Soalan atau dimensi kedua yang penting ialah " apabila item dipilih, bolehkah ia dipilih semula ?" Sebagai contoh, jika kita memilih A sebagai gudang pertama kita, bolehkah kita memilih A sekali lagi, atau adakah kita perlu memilih elemen unik setiap kali?

Istilah yang kami gunakan di sini ialah " dengan penggantian " atau " tanpa penggantian ". Jadi, jika item boleh dipilih semula, itu dengan penggantian, bermakna anda memilihnya. Dan dari satu segi, ia kembali ke dalam tong pilihan dan untuk dipilih semula. Jika jawapannya tidak, ia tiada pengganti.

Oleh itu, anda boleh melihat dalam penyelesaian ini bahawa pilih atur dengan penggantian adalah yang paling tidak terhad. Jadi itulah yang memberi kita 216 set unik. Dan gabungan tanpa penggantian adalah yang paling ketat memberi kita 20.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Kami hanya akan menggunakan formula ini sebagai cara untuk menyemak hasil Power Query kami . Oleh itu, kita akan mengingati 216, 120, 56 dan 20. Sekarang mari kita beralih ke Power Query dan lihat bagaimana analisis gabungan ini berfungsi.

Analisis Kombinatorial: Pilihatur Dalam Power Query

Dalam Power Query, saya ada di sini kes yang sangat mudah dengan enam gudang bernama.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dan saya telah membangunkan fungsi Power Query M ini, yang telah saya gunakan untuk memproses kombinasi dan pilih atur.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Pertama, saya akan membangunkan kes penggunaan pertama itu, iaitu pilih atur dengan penggantian , yang paling tidak menyekat kumpulan itu. Cara untuk melakukannya dalam Power Query ialah dengan mengambil jadual Warehouses ini dan merujuknya (dalam DAX, kami menggunakan CROSSJOIN ).

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Saya akan memanggil ini, Per w Rep (permutasi dengan penggantian).

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Terdapat beberapa cara anda boleh melakukan sambung silang dalam Power Query. Cara paling mudah yang saya temui ialah pergi sahaja Tambah lajur , kemudian lajur Tersuai . Dalam formula lajur tersuai, rujuk jadual Gudang .

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dan perkara yang akan kita temui apabila kita mengklik OK ialah ia menghasilkan jadual bersarang.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Kemudian, kami mengembangkannya dan menyahklik nama Gunakan lajur asal sebagai awalan .

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dan kami mendapat Lokasi ini.1 , iaitu setiap gabungan dua yang mungkin. Jadi ia memerlukan enam rujukan pertama berbanding enam kombinasi lain. Enam kedua melakukan perkara yang sama sehingga kami mempunyai 36 set berbeza.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Kita boleh melakukan yang ketiga dengan melakukan ini sekali lagi. Jadi kita pergi Tambah lajur, kemudian lajur tersuai, dan kemudian Gudang.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dan kita akan mempunyai 216 baris sebagai pilih atur dengan penggantian.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dan anda boleh lihat dari bawah di sini, 3 lajur, 216 baris.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Kes penggunaan seterusnya ialah pilih atur tanpa penggantian . Apa yang kita fikirkan di sini pada dasarnya adalah segala-galanya yang mempunyai unsur berulang. Jadi dalam jadual ini, kita akan melihat dari baris 1 hingga baris 8.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Untuk melakukan itu, kita akan melihat fungsi ini, fxSortAndIsDistinct .

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dalam Editor Lanjutan, anda boleh melihat ini pada asasnya meminta jadual, dan kemudian ia melakukan SortLocs . Tetapi bahagian penting di sini untuk "dengan penggantian" atau "tanpa penggantian" ialah ini ialah fungsi IsDistinct . Perkara ini hanya pada asasnya mengambil senarai elemen dan menentukan benar atau salah, sama ada ia berbeza atau sama ada ia mempunyai sebarang pendua dalam senarai item.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Jadi kita pergi ke sini, pilih Perm w Rep , dan tekan Invoke .

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Ini akan memberi kami dua lajur baharu ini, SortLocs dan IsDistinct . Sekarang, ingat bahawa lapan rekod pertama mempunyai pendua dan rekod kesembilan adalah kali pertama kami melihat rekod yang berbeza . Itulah sebabnya baris kesembilan di sini adalah yang pertama yang muncul sebagai benar.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Jika kita memikirkan kembali nombor yang kita ada pada pengiraan faktorial, kita menjangkakan 120 rekod jika kita mengeluarkan rekod yang tidak jelas. Jadi, mari cuba tapis di sini dan keluarkan yang PALSU.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Semasa kami melakukan itu, kami mendapat di sini tepat 120 baris yang kami jangkakan. Sekarang mari kita namakan semula ini sebagai Perm wo Rep (permutasi tanpa penggantian).

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Analisis Kombinatorial: Gabungan Dalam Power Query

Sekarang kita akan melakukan kombinasi dengan penggantian . Untuk melakukan itu, kami hanya melakukan proses sekali lagi dan ulangi langkah itu (Fungsi Invoked). Jadi tidak mengapa kita mempunyai pendua, tetapi kita tidak mahu set yang mempunyai elemen yang sama , tetapi dalam susunan yang berbeza.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dalam kes ini, apabila kita bercakap tentang kombinasi. Jika anda ingat bahawa ABC adalah sama dengan BCA adalah sama dengan CAB, itu semua dianggap pendua antara satu sama lain. Dan cara kami menentukannya adalah melalui fungsi Sort ( fxSortAndIsDistinct ).

Jika kita kembali ke fungsi dalam Editor Lanjutan, kita akan melihat untuk lajur kedua yang kita telah mengambil senarai itu dan mengisihnya mengikut abjad. Kemudian, kami mengekstrak nilai yang dibatasi oleh koma daripada senarai itu. Sekarang kita mempunyai setiap set disusun mengikut abjad. Kami telah menormalkan pesanan untuk memudahkan pencarian pendua.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Sekarang jika kita kembali ke Fungsi Dikenakan ini, ingat bahawa kita sedang mencari 56 rekod di sini. Jadi kami mengambil lokasi seperti ini ( SortLocs ) dan mengalih keluar pendua kami .

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dengan itu, kami mendapat 56 baris.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Jadi, ini adalah kes penggunaan ketiga kami. Mari namakan semula ini sebagai CC w Rep (gabungan dengan penggantian).

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Mari kita bungkus yang ini dengan mengambil semula pilih atur itu dengan jadual penggantian (Perm w Rep) dan lakukan corak yang sama (invoke). Kemudian, kami akan mengalih keluar pendua (lajur SortLocs) kerana ini adalah gabungan dan susunan tidak penting. Ia tanpa penggantian, jadi kami juga mahukan senarai yang berbeza sahaja . Jadi, kami klik FALSE dalam lajur IsDistinct.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates

Dengan ini, kami mendapat 20 rekod. Dan kini kami mempunyai keempat-empat kes penggunaan kami.

Analisis Kombinatorial Menggunakan Power Query Dalam LuckyTemplates


Menyusun Lajur Jadual Tarikh Dalam LuckyTemplates
Panduan Pemula Kepada Kod M Dalam LuckyTemplates
Menukar Fungsi Jadual Tarikh Kepada Pertanyaan Jadual Dalam LuckyTemplates

Kesimpulan

Jadi sekarang kami mempunyai keempat-empat kes penggunaan kami. Anda boleh melihat betapa hebatnya ini dari segi membangunkan analisis gabungan yang memberi anda kawalan ke atas penggantian dan elemen yang berbeza.

Ini juga boleh digunakan dalam beberapa kes yang lebih kompleks di mana anda mempunyai penggantian separa, atau mungkin memilih elemen pendua untuk yang pertama, tetapi bukan untuk kali kedua. Anda masih boleh mengendalikannya dengan baik dalam Power Query .

Saya harap anda mendapati ini berguna. Semak pautan di bawah untuk lebih banyak kandungan. Anda juga boleh menonton video penuh tutorial ini di bawah.

Semua yang terbaik!


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