ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้ว่า ฟังก์ชัน ทำงานอย่างไรใน DAX โดยใช้บานหน้าต่างเวลาเซิร์ฟเวอร์และแผนการสืบค้น
สามารถใช้ฟังก์ชัน CROSSJOIN เพื่อสร้างผลิตภัณฑ์คาร์ทีเซียนของสองตาราง ผลคูณคาร์ทีเซียนคือชุดของแถวที่เป็นไปได้ทั้งหมดจากสองตารางขึ้นไป
รหัสDAXด้านล่างจะใช้ในบทช่วยสอนนี้
คุณจะเห็นว่าฟังก์ชัน CROSSJOIN ส่งผลให้เกิดการ ผสมกันระหว่างยี่ห้อสินค้าและสี แม้ว่าบางชุดค่าผสมเหล่านี้จะไม่มีอยู่ในตารางข้อเท็จจริงก็ตาม ส่งผลให้ตารางมีทั้งหมด 176 แถว
ในแท็บ Server Timings ข้อความค้นหาแรกจะดึงข้อมูลแบรนด์จากตารางผลิตภัณฑ์ ขณะที่ข้อความค้นหาที่สองจะดึงข้อมูลสี
ในLogical Query Planบรรทัดแรกส่งคืนผลลัพธ์ในรูปแบบตาราง บรรทัดที่สองและสามในตารางผลิตภัณฑ์จะสแกนสีและยี่ห้อตามลำดับ
เมื่อได้รับข้อมูลแล้ว Formula Engine จะวนซ้ำตารางและสร้างการรวมกันของทั้งสองคอลัมน์ CrossApply ในบรรทัดที่ 2 สอดคล้องกับฟังก์ชัน CROSSJOIN
สารบัญ
กรองผลลัพธ์ CROSSJOIN ใน DAX
คุณสามารถใช้ ฟังก์ชัน เพื่อกรองผลลัพธ์ของ CROSSJOIN ตัวอย่างเช่น คุณอาจใช้เพื่อแสดงเฉพาะผลิตภัณฑ์ที่เป็นสีแดง
อย่างไรก็ตาม โปรดจำไว้ว่า คุณไม่สามารถวางฟังก์ชัน CROSSJOIN ภายในอาร์กิวเมนต์ FILTER
ตอนนี้ หากคุณรันโค้ดนี้และตรวจสอบแท็บ Server Timings คุณจะเห็นว่าบริบทของตัวกรองไม่ปรากฏเป็นคำสั่งย่อย WHERE ในแบบสอบถาม
ฟังก์ชัน CROSSJOIN สามารถแก้ไขได้โดยFormula Engine เท่านั้น รหัสใช้งานไม่ได้เนื่องจากอยู่ระหว่าง FILTER และซึ่งเป็นฟังก์ชันที่สามารถแก้ไขได้โดยStorage Engineเท่านั้น ดังนั้น CROSSJOIN ทำให้เกิดการวนซ้ำระหว่างสองฟังก์ชันนี้
ดังนั้น คุณต้องวางฟังก์ชัน FILTER ไว้ในอาร์กิวเมนต์ CROSSJOIN เพื่อให้ตัวกรองทำงานได้
ตอนนี้ถ้าคุณรันโค้ดนี้และตรวจสอบแท็บ Server Timings คุณจะเห็นว่าตอนนี้ฟังก์ชัน FILTER ถูกแทนด้วยส่วนคำสั่ง WHERE
ใน Logical Query Plan คุณจะเห็นว่า มีการใช้Filter VertiPaqแทน Filter Operator
นี่เป็นเพราะเงื่อนไขการกรองใหม่ในรหัสสามารถถูกผลักลงไปที่ Storage Engine หลังจากส่งคืนผลลัพธ์ อาร์กิวเมนต์ CROSSJOIN จะถูกดำเนินการภายใน Formula Engine
ผู้ประกอบการใน
คุณยังสามารถใช้ ตัวดำเนินการ แทนเครื่องหมายเท่ากับในอาร์กิวเมนต์ FILTER
สามารถใช้ตัวดำเนินการ IN ภายในอาร์กิวเมนต์นิพจน์ของฟังก์ชัน FILTER เพื่อกรองตารางโดยขึ้นอยู่กับว่าค่านั้นอยู่ในรายการค่าหรือภายในตาราง
เมื่อคุณใช้การ รวม FILTER – INเอ็นจิน DAX ต้องทำตัว กรอง IsEmptyซึ่งจะยืนยันว่าสีของผลิตภัณฑ์เป็นสีแดงหรือสีดำ
เพิ่มคอลัมน์ยอดขายรวมในผลลัพธ์ CROSSJOIN DAX
ฟังก์ชั่นอื่นๆ สามารถใช้ร่วมกับ CROSSJOIN ได้
คุณสามารถใช้ ฟังก์ชัน เพื่อเพิ่มคอลัมน์อื่นในตารางของคุณ จากนั้นจึงเขียนอาร์กิวเมนต์ของข้อมูลที่คุณต้องการแสดง
ในตัวอย่างนี้ ลองเพิ่มคอลัมน์ยอดขายรวม
เมื่อคุณรันโค้ด ผลลัพธ์จะยังคงคืนค่า 176 แถว อย่างไรก็ตาม ชุดค่าผสมบางชุดจะมีค่าว่างในคอลัมน์ยอดขายรวม เนื่องจากชุดค่าผสมเหล่านี้ไม่มีแถวที่ตรงกันในตารางการขาย
ในแท็บ Server Timings โค้ดจะเลือกยี่ห้อและสีก่อน จากนั้นจึงสรุปผลคูณของปริมาณและราคาขายสุทธิ
ในกรณีนี้ กลไก DAX จะเรียกชุดค่าผสมของแบรนด์และสีทั้งหมดที่มีอยู่ในตารางผลิตภัณฑ์ก่อน พร้อมกับชุดที่มีแถวที่สอดคล้องกันในตารางยอดขาย จากนั้นจะดึงคอลัมน์ยี่ห้อและสีแยกกัน
ในแผนการสืบค้นข้อมูลจริง คุณจะเห็นแคชข้อมูลสองแคช อันหนึ่งสำหรับยี่ห้อและอีกอันสำหรับสี เมื่อคุณคูณระเบียนทั้งหมด คุณจะได้ 176 แถว
จากนั้น จะทำการค้นหาใน 176 แถวเหล่านั้นเพื่อดูว่ามีค่าที่สอดคล้องกันในตารางยอดขายหรือไม่ คุณจะเห็นว่ามีเพียง 111 แถวเท่านั้นที่มีค่า อีก 65 แถวจะคืนค่าว่าง
นอกจากนี้ หากคุณเพิ่มคอลัมน์เพิ่มเติมในอาร์กิวเมนต์ CROSSJOIN ผลลัพธ์จะส่งคืนแถวเพิ่มเติมด้วย
บทสรุป
ฟังก์ชัน DAX CROSSJOIN สร้างตารางใหม่โดยการรวมแถวจากตารางหนึ่งกับแถวจากอีกตารางหนึ่ง ฟังก์ชันนี้คล้ายกับส่วนคำสั่ง CROSS JOIN ใน SQL และสามารถใช้เพื่อสร้างคิวรีที่ซับซ้อนมากขึ้นในโมเดลข้อมูลของคุณ
สามารถสร้างรายการค่าผสมที่เป็นไปได้ทั้งหมดจากสองตารางขึ้นไป นอกจากนี้ยังสามารถใช้เพื่อสร้างตารางใหม่ที่มีแถวจำนวนมากได้อย่างรวดเร็ว ซึ่งจะเป็นประโยชน์สำหรับการวิเคราะห์ข้อมูล การทดสอบ หรือการเปรียบเทียบประสิทธิภาพ
โดยรวมแล้ว ฟังก์ชัน CROSSJOIN เป็นเครื่องมือที่มีประโยชน์ในสถานการณ์ที่คุณจำเป็นต้องรวมข้อมูลจากหลายตารางหรือสร้างรายการของชุดค่าผสมที่เป็นไปได้ทั้งหมด
สิ่งที่ดีที่สุด
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้