Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Dalam tutorial ini, kami akan mengkaji soalan menarik yang ditimbulkan pada tentang cara menggabungkan bilangan lajur yang berubah-ubah secara dinamik dalam jadual Power Query. Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.
Senario ini berkaitan dengan eksport data mentah yang menyebabkan data tumpah ke dalam bilangan lajur bersebelahan yang tidak diketahui. Apabila anda melihat contoh, anda boleh melihat perihalan telah tertumpah ke Lajur 4 dan Perihalan 2 telah dipecahkan pada dua lajur bersebelahan. Tetapi itu tidak akan selalu berlaku. Dalam kitaran seterusnya, bilangan lajur ini boleh berubah.
Sebelum kita beralih kepada penyelesaian, mari kita periksa kod M yang dijana Power Query apabila anda menggabungkan lajur.
Isi kandungan
Kod M Jadual Pertanyaan Kuasa
Terdapat beberapa cara untuk menggabungkan lajur. Satu adalah untuk memilih kedua-dua lajur penerangan dan menekan sama ada kekunci shift atau kekunci kawalan kemudian pilih lajur 4 juga. Kemudian, klik kanan dan pilih Gabung Lajur .
Atau, pada tab Transform , pilih lajur gabungan . Dan kotak dialog ini akan muncul, yang membolehkan anda memilih Pemisah.
Dalam kotak pop timbul, pilih Tab dan anda boleh memasukkan nama lajur baharu. Dalam kes ini, saya menamakannya Penerangan.
Dalam bar formula, kita melihat kod M yang telah dibuat oleh langkah transformasi ini.
Jika bar formula tidak kelihatan pada skrin anda, pergi ke tab Lihat dan hidupkannya.
Jadi fungsi yang Power Query gunakan untuk menggabungkan lajur ialah Table.CombinedColumns . Parameter pertama yang diperlukan ialah jadual. Jadual itu dikembalikan oleh langkah sebelumnya dalam kod kami, jadi dalam Langkah Gunaan, anda akan melihat bahawa ini dipanggil Sumber .
Kemudian, ia mengekod keras nama lajur dalam senarai. Di sini anda melihat pemula senarai, dan antara nilai dalam teks, perihalan nama lajur dan lajur nama lajur 4. Kemudian, ia memanggil fungsi M lain untuk menggabungkan nilai teks dalam lajur tersebut.
Dan akhirnya, ia menghantar nama lajur baharu sebagai teks supaya kami boleh melaraskannya.
Jadi, jika kita mahu fungsi ini menggabungkan bilangan lajur yang berubah secara dinamik, kita perlu menukar nilai parameter kedua yang kini mengandungi senarai nama lajur berkod keras.
Menggabungkan Bilangan Lajur yang Berubah Dalam Jadual Pertanyaan Kuasa
Saya akan berundur ke pertanyaan data mentah saya, dan jika kita melihat dengan lebih dekat nama lajur, kita dapati setiap lajur tumpahan adalah tanpa nama. Mereka tidak mempunyai nama yang betul, tetapi semuanya bermula dengan lajur teks, diikuti dengan nombor. Mari lihat sama ada kita boleh menggunakannya. Pertama, saya akan membuat rujukan dengan mengklik kanan di sini dan memilih Rujukan .
Dan untuk mendapatkan nama lajur di dalam bar formula, saya boleh menambah Table.ColumnNames . Fungsi ini mengembalikan senarai dengan semua nama lajur daripada jadual itu. Mari kita ubah ini kembali menjadi jadual dengan mengklik Pada Jadual .
Dalam kotak pop timbul ini, klik OK.
Kemudian, pada tab Tambah Lajur , saya akan pilih Format , dan kemudian Potong .
Sekarang, ini bukan transformasi yang saya mahu lakukan, tetapi ia menjana sebahagian besar kod M untuk saya. Apa yang perlu saya lakukan ialah menggantikan fungsi trim itu dengan logik saya sendiri .
Jadi di dalam bar formula, bukannya Text.Trim , kita boleh katakan jika Text.StartsWith , dan kemudian arahkannya ke Lajur 1 kami , dan saya akan menyalinnya serta-merta. Ia mahu teks yang kita cari, jadi itu akan menjadi Lajur. Jadi, jika ia bermula dengan lajur teks maka kami mahu “null” – untuk semua yang lain, kami mahu apa sahaja yang ada dalam Lajur 1. Kami juga boleh menamakan semula lajur itu, jadi di dalam bar formula, bukannya Trim, mari kita panggil ia GroupColumn .
Sekarang, apa yang perlu kita lakukan ialah mengisinya pada nilai ini. Jadi saya akan klik kanan pengepala saya, pilih Isi , dan Bawah .
Jadi apabila data masuk seterusnya dan bilangan lajur itu telah berubah, kumpulan ini akan mengambilnya secara automatik.
Mari namakan semula pertanyaan ini, saya akan memanggilnya kumpulan lajur.
Mari pastikan pemuatannya telah dilumpuhkan kerana ini hanyalah pertanyaan sokongan.
Saya boleh merujuk pertanyaan sokongan ini dan saya akan menamakan semula ini kemudian. Mari tinggalkan itu buat masa ini. Jadi, jika anda masih ingat, kami bermula dengan menggabungkan dua lajur dan itu mencipta senarai berkod keras dengan nama lajur , tetapi kini kami boleh menapis Perihalan dalam GroupColumn kami .
Jadi, jika kita melakukan penapisan itu pada Penerangan dalam Lajur 1, kita mendapat lajur yang memenuhi kriteria tersebut.
Walau bagaimanapun, ini adalah jadual dan bukan senarai. Kami perlu mengekstrak apa sahaja yang tinggal dalam lajur pertama itu kerana kami perlu memasukkan lajur tersebut dalam operasi gabungan kami. Jadi untuk berbuat demikian, kami boleh mengklik kanan pengepala Lajur 1 kami dan pilih Drill Down .
Dan sekarang kita mendapat senarai. Jadi mari kita berikan pertanyaan ini nama yang betul ( ListDescr ) dan mari kita semak sama ada ia dilumpuhkan daripada dimuatkan.
Sekarang kita boleh melangkah kembali ke pertanyaan Hasil kami dan menggantikan hujah kedua di sini dengan senarai dinamik kami. Jadi di sini, kami boleh merujuk ListDescr kami .
Mari kita ulangi ini untuk Penerangan 2 juga. Saya akan pergi ke pertanyaan ColumnGroups saya. Saya akan membuat rujukan lain dan memilih lajur yang saya perlukan. Kemudian saya akan menapis Perihalan 2, yang akan mengembalikan tiga lajur ini. Saya akan klik kanan pengepala saya dan pilih Drill Down dan menamakan semula pertanyaan ini juga ( ListDescr2 ).
Saya kemudian akan berundur ke pertanyaan Hasil saya, pilih lajur Penerangan2 dan tekan sama ada anjakan atau kawalan untuk memilih lajur seterusnya juga (lajur2). Saya akan klik kanan pada pengepala dan pilih Gabung Lajur .
Dalam kotak pop timbul, saya akan memilih Tab sebagai Pemisah dan saya akan memanggil Penerangan2 ini.
Saya hanya akan menukar nama lajur di sini pada bar formula. Saya akan menukar senarai berkod keras itu juga daripada senarai yang baru kami buat. Dan sekarang, seperti yang anda boleh lihat, ini juga telah mengambil lajur 8 yang sebelum ini kami kecualikan.
Cara Menggabungkan Pertanyaan Dalam
Parameter Pertanyaan LuckyTemplates LuckyTemplates: Mengoptimumkan Jadual
Isih Lajur Jadual Tarikh Dalam LuckyTemplates
Kesimpulan
Dalam blog ini, saya telah menunjukkan kepada anda cara menggunakan kod M dalam Power Query untuk menggabungkan lajur secara dinamik. Ia tidak sukar selagi anda sudah biasa dengan cara Power Query berfungsi dan apa kod M untuk digunakan.
Saya harap anda telah menikmati yang ini. Sila semak pautan di bawah untuk lebih banyak kandungan berkaitan.
Semua yang terbaik!
Melissa
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