ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ลองมาดูปัญหาที่กล่าวถึงในบทช่วยสอนนี้ อีกครั้ง ซึ่งเปรียบเทียบแบบไดนามิกกับ N วันทำการแรกของแต่ละเดือน ปัญหานี้เกิดจากการสอบถามสมาชิก LuckyTemplates ในฟอรัมของเรา ซึ่งเขาต้องการค้นหาแบบไดนามิกและเปรียบเทียบวันที่เรียกเก็บเงินได้ 5, 10, 15 และ 20 วันแรก (ที่ไม่ใช่วันหยุดสุดสัปดาห์และไม่ใช่วันหยุด) ในเดือนหนึ่งๆ กับวันที่เรียกเก็บเงิน เดือนก่อนหน้า
แทนที่จะใช้ Power Query เราจะนำเสนอโซลูชันภาษาการเข้ารหัส DAX คุณสามารถดูวิดีโอทั้งหมดของบทช่วยสอนนี้ได้ที่ด้านล่างของบล็อกนี้
ในวิดีโอแรกฉันได้นำเสนอโซลูชัน Power Query เกี่ยวกับวิธีแก้ปัญหานี้ แต่แล้ว Antriksh Sharma หนึ่งในผู้เชี่ยวชาญ LuckyTemplates ของเราก็คิดวิธีวัดที่มีประสิทธิภาพอย่างยอดเยี่ยมซึ่งควรค่าแก่การเจาะลึกลงไปด้วย เราจะหารือเกี่ยวกับเทคนิคบางอย่างที่เขาใช้ในการพัฒนาการวัด ซึ่งจะช่วยให้คุณมีเครื่องมือเพิ่มเติมในกล่องเครื่องมือ DAX ของคุณ
แน่นอนว่ามันเกิดขึ้นกับฉันและผู้เชี่ยวชาญคนอื่นๆ ที่ดูสิ่งนี้ การเปรียบเทียบที่คล้ายกันของวันทำการที่เทียบเคียงกันในแต่ละเดือนเป็นรูปแบบทั่วไปที่มีประโยชน์ซึ่งสามารถใช้ได้ในหลายสถานการณ์
มาดู Power Query และดูว่า Antriksh ทำอะไรที่นี่ เรามีเดือนและปียอดขายรวมและสุดท้ายยอดขายรวมสำหรับ N วันทำการ ที่เราเลือกโดยใช้แบบสอบถามพลังงาน ตามพารามิเตอร์ what-if ที่เราพัฒนาขึ้น
Antriksh ใช้วิธีการที่ต่างออกไปมาก โดยเขาใช้มาตรการสั้นจนน่าตกใจเพื่อแก้ปัญหาทั้งหมดนี้ สิ่งแรกที่ฉันสังเกตเห็นเกี่ยวกับสิ่งนี้คือการใช้คำสั่ง
นี่คือฟังก์ชัน DAX ที่ฉันใช้ไม่บ่อยนัก แต่เหมาะสมอย่างยิ่งสำหรับปัญหาประเภทนี้ หากเราดูที่คู่มือ SQL BI DAX จะมีข้อความว่าฟังก์ชัน GENERATE เป็นฟังก์ชันตารางที่ใช้เป็นอินพุตสองตารางที่แตกต่างกัน จากนั้นทำเทียบเท่ากับคำสั่ง SQL CROSS APPLY
ดังนั้นจึงใช้ตารางฐาน (Table1) และวนซ้ำจากนั้นใช้นิพจน์ตารางที่สองและประเมินค่านั้นสำหรับแต่ละแถวในตารางแรก จากนั้นจึงกลับไปที่ตารางเป็นเอาต์พุต
ลองใช้มาตรการของ Antriksh แล้ววางลงในตาราง เราจะเห็นว่ามันสร้างผลลัพธ์เดียวกันกับโซลูชัน Power Query ที่เราทำในครั้งล่าสุด นั่นเป็นสิ่งที่ดีและตรวจสอบทั้งสองมาตรการได้ค่อนข้างดี
เอามาตรการนี้ละกัน ตัวกรองแรกที่ใช้ที่นี่คือ Dates[IsBusinessDay] = TRUE ซึ่งจะนำวันที่ที่ไม่ใช่วันหยุดสุดสัปดาห์และวันที่ไม่ใช่วันหยุดออกทั้งหมดตามฟิลด์ IsBusinessDay ของตารางวันที่ขยาย
เราพูดถึงเรื่องนี้มากขึ้นในบทช่วยสอนแรกซึ่งเราได้อธิบายถึงวิธีการผูกเข้ากับตารางวันหยุดของเราด้วย
ส่วนที่น่าสนใจของสิ่งนี้มาจากอินพุตสองตาราง ตารางแรกเป็นเพียงตารางหนึ่งคอลัมน์ของเขตข้อมูลเดือน & ปีในตารางวันที่
แต่อินพุตตารางที่สองคือที่ซึ่งสิ่งที่น่าสนใจเกิดขึ้น Antriksh ใช้แล้วใช้พารามิเตอร์ไดนามิกเป็นจำนวนแถวใน TOPN
การ วัด ยอดขายรวมจะแนบกับตารางที่สอง จากนั้นนำไปใช้กับตารางแรก
สารบัญ
ทำความเข้าใจการวัดที่ซับซ้อนโดยใช้ภาษาการเข้ารหัส DAX
วิธีที่ง่ายที่สุดวิธีหนึ่งในการหาว่าหน่วยวัดที่ซับซ้อนเช่นนี้กำลังทำอะไรอยู่คือการเข้าไปที่Tabular Editor เราสามารถดูนิพจน์นี้และหาว่านิพจน์ TOPN นี้ทำอะไรก่อน
ลองคัดลอกส่วน TOPN และสร้างแบบสอบถาม DAXใหม่ โปรดจำไว้ว่าข้อความค้นหา DAX ขึ้นต้นด้วย EVALUATE
เมื่อเราวางส่วน TOPN เราจะเห็นว่านี่เป็นการดึงวันที่ 5 วันแรกจากตารางใบสั่งขาย มีตารางใน TOPN ที่ประกอบด้วยค่าของวันที่สั่งซื้อทั้งหมดภายในตารางการขาย
ฟังก์ชัน TOPN นี้รับค่าของพารามิเตอร์ what-if (ซึ่งในกรณีนี้คือ 5) และนำไปใช้กับฟิลด์วันที่ของใบสั่งขาย จากนั้นจะดึงวันที่ 5 แรกภายในบริบทตัวกรองตามลำดับจากน้อยไปมากตามฟิลด์นั้น
เนื่องจากไม่มีบริบทตัวกรองเพิ่มเติม จึงเป็นเพียงการดึงวันที่ 5 วันแรกจากตารางทั้งหมด
คอลัมน์ @Sales เป็นเพียงการเพิ่มยอดขายทั้งหมดภายในบริบทตัวกรองที่เหมาะสมไปยังตาราง TOPN
จนถึงตอนนี้ เรามีตารางแรกของเดือนและปี ตารางที่สองของ TOPN ของวันที่ N แรกจากตารางการขาย และยอดขายรวมที่เกี่ยวข้อง
การใช้ตาราง GENERATE ในภาษาการเข้ารหัส DAX
มาดูกันว่าตาราง GENERATE นี้ใช้ทำอะไร เราจะกลับไปที่ตัวแก้ไขตารางและสร้างแบบสอบถาม DAX ใหม่
เราจะเริ่มเหมือนที่ทำกับการประเมินเสมอ วางในส่วน GENERATE ของโค้ด แล้วคลิก 5
เราจะเห็นว่าสำหรับแต่ละแถวของตารางแรก มีการวนซ้ำและเข้าร่วมกับ 5 แถวจากตาราง TOPN ที่ประเมินในบริบทด้วยฟังก์ชัน @Sales
ใช้เวลา 5 วันทำการแรกของเดือนเมษายน 5 วันทำการแรกของเดือนพฤษภาคม 5 วันทำการแรกของเดือนมิถุนายน ไปเรื่อยๆ จนกว่าจะถึงจุดสิ้นสุดของตารางแรก
นี่คือสิ่งที่เราต้องการ และตอนนี้การเพิ่มค่าเหล่านั้นก็กลายเป็นเรื่องง่าย เรามีผลลัพธ์ (ซึ่งเป็นตัวแปรตารางของผลลัพธ์ GENERATE) จากนั้นเราจำเป็นต้องสรุปฟังก์ชัน @Sales
ภายในบริบท ขณะนี้เรากำลังสรุป 5 วันทำการแรกของเดือนเมษายน 5 วันทำการแรกของเดือนพฤษภาคม และอื่นๆ จนกว่าเราจะลดยอดรวมเป็น 23,737,430 ดอลลาร์ ซึ่งในกรณีนี้จะไม่มีบริบทของเดือนและปีที่จะดำเนินการ .
ซึ่งสรุปคอลัมน์ @Sales ทั้งหมดและทำให้เราได้ยอดรวมเดียวกันกับที่เรามีในโซลูชัน Power Query ของเรา
คุณจะเห็นว่าถ้าเราเปลี่ยนตัวแบ่งส่วนข้อมูลเป็น 10 เราจะได้ผลลัพธ์แบบไดนามิกด้วยภาษาการเข้ารหัส DAX เช่นเดียวกับที่เราทำใน Power Query
เรายังมีแผนภูมิแท่งที่ด้านล่างซึ่งปรับเปลี่ยนแบบไดนามิกเพื่อสะท้อนถึงการเปลี่ยนแปลงที่เราได้ทำไป
ปรับหัวข้อการวัดแบบไดนามิก
มีเคล็ดลับเพิ่มเติมอีกอย่างที่ฉันอยากจะแสดงให้คุณเห็น คุณสามารถสร้างการปรับแบบไดนามิกบนพารามิเตอร์ what-if และผูกเข้ากับชื่อการวัดแบบไดนามิก
ตัวอย่างเช่น หากเราเปลี่ยนตัวแบ่งส่วนข้อมูลด้านบนเป็น 15 ตัวแบ่งส่วนข้อมูลจะเปลี่ยนชื่อของการวัดแบบไดนามิกที่ด้านล่างเป็นยอดขายรวมสำหรับ 15 วันทำการแรกของแต่ละเดือน
มีวิธีง่ายๆ ในการดำเนินการนี้ใน DAX โดยใช้ การจัดรูป แบบตามเงื่อนไข โดยทั่วไปเราใช้เพียงสามสาย อย่างแรกคือTotal Sales for Firstจากนั้นเชื่อมค่านั้นกับค่าที่เราเก็บเกี่ยวจากพารามิเตอร์ what-if แล้วผูกค่านั้นกับส่วนที่เหลือของชื่อ
จากนั้นเราไปที่ภาพ ไปที่การจัดรูปแบบตามเงื่อนไขของชื่อเรื่อง แล้วคลิกที่fx .
เราจะจัดรูปแบบตามค่าฟิลด์และเลือกการวัดชื่อไดนามิกนั้น สิ่งนี้จะเปลี่ยนการเลือกพารามิเตอร์ what-if
บทสรุป
สิ่งที่เรามีในตอนนี้คือโซลูชันที่สมบูรณ์โดยใช้ภาษาการเข้ารหัส DAX เราได้พูดถึงวิธีที่สร้างสรรค์และมีประสิทธิภาพในการใช้ฟังก์ชัน GENERATE ฉันอยากจะขอบคุณ Antriksh ที่แบ่งปันความรู้ DAX อันยอดเยี่ยมของเขากับเรา ฉันได้เรียนรู้มากมายในขณะที่ใช้โซลูชัน DAX ของเขา และฉันหวังว่าคุณจะทำเช่นกัน
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้