Excel DAX - บริบทการประเมินผล

ใน DAX บริบทเป็นคำสำคัญที่คุณควรทราบในขณะที่เขียนสูตร DAX เรียกอีกอย่างว่าevaluation contextบริบท DAX ใช้เพื่อกำหนดการประเมินสูตร DAX และผลลัพธ์ที่สอดคล้องกัน ซึ่งหมายความว่าผลลัพธ์ของสูตร DAX อาจแตกต่างกันไปตามบริบท คุณควรเข้าใจอย่างชัดเจนว่าบริบท DAX เฉพาะถูกใช้อย่างไรและผลลัพธ์จะแตกต่างกันอย่างไร

บริบทการประเมินช่วยให้คุณทำการวิเคราะห์แบบไดนามิกซึ่งผลลัพธ์ของสูตร DAX สามารถเปลี่ยนแปลงเพื่อแสดงถึงแถวปัจจุบันหรือการเลือกเซลล์และข้อมูลที่เกี่ยวข้อง การทำความเข้าใจบริบทและการใช้บริบทอย่างมีประสิทธิภาพเป็นสิ่งสำคัญมากในการสร้างสูตร DAX ที่มีประสิทธิภาพทำการวิเคราะห์ข้อมูลแบบไดนามิกและแก้ไขปัญหาในสูตร DAX บริบทการประเมินผลเป็นพื้นฐานของคุณลักษณะขั้นสูงทั้งหมดของ DAX ที่คุณต้องใช้เพื่อสร้างรายงานการวิเคราะห์ข้อมูลที่ซับซ้อน

ในขณะที่คุณอ้างอิงถึงฟังก์ชัน DAX สำหรับการใช้งานที่เกี่ยวข้องในสูตร DAX คุณจำเป็นต้องอ้างถึงบทนี้เกี่ยวกับบริบท DAX เพื่อรับความชัดเจนของผลลัพธ์

ประเภทของบริบทใน DAX

DAX สนับสนุนบริบทการประเมินต่อไปนี้ -

  • บริบทแถว
  • บริบทตัวกรอง

เมื่อมีการประเมินสูตร DAX บริบททั้งหมดจะถูกนำมาพิจารณาและนำไปใช้ตามความเกี่ยวข้อง บริบทมีอยู่ร่วมกันและผลลัพธ์ของสูตรจะแตกต่างกันไปตามบริบทที่ใช้ในขณะคำนวณค่า ตัวอย่างเช่นเมื่อคุณเลือกเขตข้อมูลสำหรับแถวคอลัมน์และตัวกรองใน PivotTable ผลรวมย่อยจะคำนวณแบบไดนามิกตามแถวและคอลัมน์ใดที่ผลรวมย่อย / ผลรวมจะเชื่อมโยงกับค่าในแถวและคอลัมน์จะถูกกำหนดโดยตัวกรอง ใช้แล้ว

บริบทแถว

บริบทแถวหมายความว่าสูตร DAX หรือฟังก์ชัน DAX รู้ว่าแถวใดของตารางที่อ้างอิงในช่วงเวลาใดเวลาหนึ่ง คุณสามารถพิจารณาบริบทแถวเป็นแถวปัจจุบัน สูตรจะได้รับการคำนวณทีละแถวพร้อมบริบทแถว

ฟังก์ชัน DAX บางฟังก์ชัน (เช่นฟังก์ชัน X, FILTER ()) และคอลัมน์จากการคำนวณทั้งหมดมีบริบทแถว ตัวอย่างเช่นถ้าคุณสร้างคอลัมน์จากการคำนวณ Year ด้วยสูตร DAX = YEAR ([วันที่]) ค่าของคอลัมน์จากการคำนวณจะได้รับจากการใช้สูตร DAX ที่กำหนดบนคอลัมน์ที่กำหนดในตารางทีละแถว

ซึ่งหมายความว่าถ้าคุณสร้างคอลัมน์จากการคำนวณบริบทของแถวจะประกอบด้วยค่าในแต่ละแถวและค่าในคอลัมน์ที่เกี่ยวข้องกับแถวปัจจุบันตามที่กำหนดโดยสูตร DAX ที่ใช้ แม้ว่าสูตร DAX จะไม่มีการอ้างอิงถึงแถว แต่ DAX ก็เข้าใจบริบทของแถวโดยปริยายในขณะที่คำนวณค่า

DAX สร้างบริบทแถวโดยอัตโนมัติเมื่อคุณกำหนดคอลัมน์จากการคำนวณและค่าจากการคำนวณทั้งหมดด้วยสูตร DAX ที่ใช้จะปรากฏในคอลัมน์จากการคำนวณ

ในทางตรงกันข้ามเมื่อคุณมีฟังก์ชัน DAX เช่น SUMX ค่าที่คำนวณตามแถวจะได้รับการสรุปและจะแสดงเฉพาะผลลัพธ์สุดท้ายเท่านั้น นั่นคือค่ากลางจะถูกละทิ้ง

เมื่อคุณมีตารางที่เกี่ยวข้องบริบทของแถวจะกำหนดว่าแถวใดในตารางที่เกี่ยวข้องเชื่อมโยงกับแถวปัจจุบัน อย่างไรก็ตามบริบทแถวไม่แพร่กระจายผ่านความสัมพันธ์โดยอัตโนมัติ คุณต้องใช้ฟังก์ชัน DAX - เกี่ยวข้องและเกี่ยวข้องกับสิ่งนี้

บริบทหลายแถว

DAX มีฟังก์ชันตัววนซ้ำเช่น SUMX คุณสามารถใช้ฟังก์ชันเหล่านี้เพื่อซ้อนบริบทของแถว ด้วยวิธีนี้โดยทางโปรแกรมคุณสามารถมีการเรียกซ้ำในวงในและวงนอกซึ่งคุณสามารถมีหลายแถวปัจจุบันและบริบทของแถวปัจจุบัน

ตัวอย่างเช่นคุณสามารถใช้ฟังก์ชัน DAX Earlier () ที่เก็บบริบทแถวจากการดำเนินการที่นำหน้าการดำเนินการปัจจุบันได้ ฟังก์ชันนี้จัดเก็บบริบทสองชุดในหน่วยความจำ - บริบทชุดหนึ่งแสดงถึงแถวปัจจุบันสำหรับวงในของสูตรและบริบทอีกชุดหนึ่งแทนแถวปัจจุบันสำหรับวงนอกของสูตร DAX จะฟีดค่าระหว่างสองลูปโดยอัตโนมัติเพื่อให้คุณสามารถสร้างการรวมที่ซับซ้อนได้

ตัวอย่างเช่นอ้างถึงสถานการณ์สมมติ - การสร้างสูตร DAX ที่จัดอันดับค่าแบบไดนามิกในสถานการณ์บท - การจัดอันดับและค่าเปรียบเทียบ

บริบทตัวกรอง

บริบทตัวกรองหมายถึงการกรองใด ๆ ที่ใช้กับตัวแบบข้อมูลใน DAX บริบทตัวกรองถูกสร้างขึ้นโดย PivotTable และโดยฟังก์ชัน DAX

บริบทตัวกรองที่สร้างโดย PivotTable

บริบทตัวกรองที่สร้างโดย PivotTable คือการกรองตามธรรมชาติที่ใช้โดยการเลือกที่ทำในฟิลด์ PivotTable จากรายการต่อไปนี้ -

  • Rows
  • Columns
  • Filters
  • Slicers

บริบทตัวกรองที่สร้างโดย PivotTable จะกรองตารางที่สำคัญในตัวแบบข้อมูล หากตารางเกี่ยวข้องกันตัวกรองจะไหลลงจากตารางการค้นหาไปยังตารางข้อมูล นั่นหมายความว่าคุณสามารถกรองตารางข้อมูลโดยยึดตามผลลัพธ์จากตารางการค้นหา การแพร่กระจายของตัวกรองจะไม่เกิดขึ้นในทางกลับกัน อย่างไรก็ตามคุณสามารถใช้สูตร DAX เพื่อกรองตารางการค้นหาโดยยึดตามผลลัพธ์จากตารางข้อมูล

บริบทตัวกรองที่สร้างโดยฟังก์ชัน DAX

คุณสามารถใช้ฟังก์ชันตัวกรอง DAX เพื่อกำหนดเขตข้อมูลจากการคำนวณและคอลัมน์จากการคำนวณซึ่งมีนิพจน์ตัวกรองที่ควบคุมค่าที่ใช้โดยสูตร DAX เขตข้อมูลจากการคำนวณและคอลัมน์จากการคำนวณเหล่านี้จะกลายเป็นส่วนหนึ่งของรายการเขตข้อมูล PivotTable และคุณสามารถเพิ่มลงใน PivotTable ได้ คุณยังสามารถเลือกล้างตัวกรองในคอลัมน์เฉพาะได้ด้วยฟังก์ชันตัวกรอง DAX เหล่านี้ ตัวอย่างของฟังก์ชันตัวกรอง DAX ที่มีประสิทธิภาพในการสร้างบริบทตัวกรองคือ CALCULATE () ตัวอย่างเช่นโปรดดูบทสถานการณ์ - การคำนวณที่ซับซ้อน

กรองบริบทเป็นส่วนเพิ่มเติมในบริบทแถว

บริบทแถวไม่สร้างบริบทตัวกรองโดยอัตโนมัติ คุณสามารถบรรลุสิ่งเดียวกันกับสูตร DAX ที่มีฟังก์ชันตัวกรอง DAX