Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Saya akan menunjukkan kepada anda cara menambah parameter dalam fungsi M dalam pertanyaan jadual tarikh anda . Contoh ini adalah berdasarkan soalan yang dibangkitkan di . Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini.
Soalannya ialah tentang cara menukar penomboran hari pertama dalam seminggu daripada 0 kepada 1 . Ambil perhatian bahawa ini tidak mengubah permulaan sebenar hari bekerja. Dalam jadual tarikh ini, permulaan minggu akan sentiasa hari Isnin. Ia hanya merujuk kepada hari Isnin sebagai Hari 1 dan bukannya Hari 0.
Proses ini tidak semestinya rumit, tetapi anda memerlukan pemahaman asas tentang cara bahasa M distrukturkan. Jika anda ahli LuckyTemplates, anda boleh menyemak . Pengenalan menyentuh topik.
Isi kandungan
Fungsi M Dan Jadual Tarikh Lanjutan
Biar saya mulakan dengan pergi ke Power Query . Saya telah pun menyalin fungsi jadual tarikh M di sini.
Saya mendapat fungsi M daripada kategori M Code Showcase dalam Forum LuckyTemplates . Kod tersebut berada di bawah topik .
Jika saya membuka Editor Lanjutan , ini ialah kodnya.
Terdapat banyak kod M di sana, yang mungkin mengganggu.
Mencipta Pertanyaan Ujian
Oleh kerana terlalu banyak perkara yang berlaku dalam fungsi M, saya akan mulakan dengan pertanyaan kosong baharu .
Saya akan menamakan Pertanyaan Ujian ini .
Seterusnya, saya akan membuka Editor Lanjutan .
Kerana saya akan mencipta fungsi, saya akan menambah sepasang kurungan dan memadam semua kod lalai di sana.
Untuk memulakan fungsi, saya akan mengisytiharkan parameter pilihan .
Seterusnya, saya akan menambah pembolehubah. Saya akan memanggil pembolehubah ini WDStartNum kerana ia akan mewakili nombor mula hari bekerja. Saya juga perlu mengisytiharkan jenisnya, jadi saya akan menaip nombor .
Saya mengisytiharkan jenis untuk mengelakkan ralat. Jika saya hanya membiarkannya sebagai apa-apa jenis, ini bermakna ia boleh melepasi jadual atau nilai tarikh dan bukannya hanya menghantar nombor.
Langkah seterusnya ialah menambah klausa let dan klausa dalam .
Di bawah klausa let, saya memerlukan nama pembolehubah. Jadi saya akan memanggil pembolehubah ini WDStart .
Sekarang, saya perlu menguji sama ada WDStartNum telah diluluskan. Jika ia lulus, ia tidak akan sama dengan null . Jadi saya akan mengisytiharkan bahawa jika WDStartNum tidak sama dengan null, saya mahu nilai dikembalikan .
Bagi klausa dalam, saya mahu langkah yang sama dilalui. Jadi saya hanya akan meletakkan WDStart di sana, iaitu apa yang kami namakan pembolehubah kami sebelum ini di bawah klausa let.
Sebaik sahaja saya tekan Selesai, fungsi akan dibuat. Jadi saya akan cuba menghantar nilai melalui fungsi itu.
Saya akan cuba menaip huruf “a”.
Ingat bahawa sebelum ini saya mengisytiharkan bahawa nilai mestilah nombor. Kerana ia menyedari bahawa nilai yang saya masukkan tidak memenuhi keperluan ini, ia tidak akan membenarkan saya memasukkan parameter tersebut.
Jadi saya akan memadamkannya dan biarkan ruang kosong.
Sebaik sahaja saya mengklik pada Invoke, ia mengembalikan nilai 0.
Kembali kepada pertanyaan asal saya, ia menyatakan bahawa jika nilai tidak sama dengan null, WDStartNum harus dikembalikan. Jika ia sama dengan null maka 0 harus dikembalikan.
Jadi 0 adalah betul.
Kali ini, saya akan mencuba dan lulus nilai dengan menukar nombor dalam TestQuery. Benar, ia mengembalikan "1" sebaik sahaja saya tekan enter.
Sekarang, izinkan saya cuba lulus 2020 dalam TestQuery. Sebaik sahaja saya tekan enter, ia juga kembali 2020.
Jelas sekali, saya tidak mahu ini berlaku. Memandangkan saya mahukan nilai yang mewakili permulaan minggu, saya mahu sama ada 0 atau 1 muncul. Ini bermakna saya perlu membuat ujian lain untuk melihat sama ada nombor yang dimasukkan adalah sama ada 0 atau 1. Saya boleh menggunakan fungsi List.Contains untuk ini.
Menggunakan Senarai.Mengandungi
Saya mencipta pertanyaan kosong dan memasukkan List.Contains tanpa menggunakan kurungan.
Sebaik sahaja saya tekan enter, saya dapat melihat dokumentasi pada fungsi itu.
List.Contains menunjukkan sama ada senarai mengandungi nilai.
Jadi ia memerlukan senarai sebagai parameter pertama, dan kemudian nilai ditambah selepas itu. Jika nilai itu ditemui di dalam senarai, ia akan kembali benar. Jika tidak, ia akan kembali palsu.
Saya akan membuka Editor Lanjutan sekali lagi supaya saya boleh membuat perubahan yang diperlukan pada pertanyaan saya.
Daripada menguji sama ada nilai tidak sama dengan null, saya akan menggunakan List.Contains .
Sekarang, saya akan memberikan senarai nilai untuk digunakan pada fungsi ini.
Saya akan menggunakan kurungan kerinting sebagai pemula senarai. Di dalam kurungan kerinting itu, saya akan meletakkan 0, 1. Saya akan menambah koma selepas menutup kurungan itu.
Untuk parameter kedua, saya akan menggunakan WDStartNum. Kemudian, saya akan menambah kurungan penutup.
Dengan adanya ini, ini bermakna 0 atau 1 harus memberi saya WDStartNumber. Jika apa-apa selain 0 atau 1 diletakkan, saya sepatutnya mendapat keputusan 0.
Biar saya mengujinya dengan meletakkan 2020 dalam TestQuery. Seperti yang dijangkakan, ini mengembalikan "0" (sifar).
Itu kerana nilai 2020 tiada dalam senarai.
Menambah Parameter Ke Dalam Fungsi M
Sekarang saya pasti kod itu berfungsi, akhirnya saya boleh meletakkannya di dalam jadual tarikh sebenar dan fungsi M. Saya akan membuka Editor Lanjutan kemudian saya akan menyalin logiknya .
Kemudian saya akan melangkah ke pertanyaan jadual tarikh.
Saya akan membuka fungsi M asal melalui Editor Lanjutan .
Kemudian, saya akan menampal kod saya di sana. Mari pastikan ada koma di hujung baris.
Seterusnya, saya akan menyerlahkan dan menyalin nama parameter saya .
Kemudian saya akan menambah parameter itu di sini .
Ambil perhatian bahawa saya perlu menambah koma pada penghujung baris sedia ada dahulu, kemudian saya perlu mengisytiharkan parameter ini sebagai pilihan . Kemudian saya boleh meletakkan WDStartNum dan menambah jenis .
Saya telah menambah parameter dan saya juga telah membenamkan logik. Tetapi saya juga perlu memastikan saya mendapat hasil yang diharapkan. Jadi saya akan mencari baris kod yang meliputi hari dalam seminggu.
Kemudian, saya akan menambah + WDStart .
Saya akan klik Selesai untuk menutup editor. Kemudian, saya akan menggunakan pertanyaan itu.
Untuk Tarikh Mula, saya akan meletakkan 1 Januari 2020, kemudian saya akan menggunakan 31 Disember 2020 sebagai Tarikh Akhir.
Saya akan menggunakan “7” sebagai bulan permulaan Tahun Fiskal, kemudian saya akan meletakkan “0” sebagai WDStartNum.
Saya akan klik pada Invoke. Sekarang, saya mempunyai jadual tarikh.
Saya akan menamakan semula untuk memastikan ia boleh dikenal pasti dengan mudah.
Sekarang, saya akan menyemak keputusan.
Ini lajur DayOfWeek saya .
Ia menunjukkan bahawa hari Isnin telah kembali sebagai 0.
Berbalik kepada soalan dalam Forum, saya perlu menukar nombor permulaan minggu kepada 1 dan bukannya 0. Jadi saya hanya akan menukarnya dalam ukuran.
Apabila saya menekan enter, hari Isnin kini akan menjadi hari 1 dan bukannya hari 0.
Melihat julat nombor, ia kini berjalan dari 1 hingga 7 dan bukannya 0 hingga 6.
Apakah yang berlaku jika saya melepasi nilai nol?
Kemudian DayOfWeek untuk Isnin hanya bertukar kembali kepada 0.
Menggunakan Fungsi M Untuk Mencipta Jadual Tarikh BI Kuasa Lanjutan
Panduan Pemula Untuk Kod M Dalam LuckyTemplates
Menyediakan Tarikh Mula Dan Tarikh Tamat Dinamik Untuk Jadual Tarikh Pertanyaan Kuasa
Kesimpulan
Beginilah cara anda boleh menambah parameter tambahan terus ke dalam fungsi M pada pertanyaan jadual tarikh anda. Prosesnya tidak rumit sama sekali, seperti yang saya nyatakan sebelum ini. Selagi anda mempunyai sumber untuk kod M, ia cukup mudah dari sana.
Sekali lagi, anda sentiasa boleh menyemak kursus Transformasi & Pemodelan Data Lanjutan dalam Online jika anda tidak mempunyai latar belakang tentang cara kod M berfungsi.
Semua yang terbaik,
Melissa
***** Kuasa Belajar BI? *****
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