ฟังก์ชัน DAX: CALCULATE
CALCULATE คำนวณค่าของนิพจน์ภายใต้ filter context ที่ถูกปรับเปลี่ยน (เพิ่ม แทนที่ หรือแก้ตัวกรอง).
เริ่มอ่านตรงนี้ก่อน
อธิบายแบบง่าย
ฟังก์ชัน DAX: CALCULATE คือเรื่องที่ช่วยให้เราใช้ทำรายงานและ dashboard จากข้อมูลได้ถูกทางขึ้น
ระดับ
เหมาะกับคนที่เริ่มลงมือทำแล้ว
ใช้เมื่อไหร่
คุณต้องการ measure สำหรับกลุ่มหรือเงื่อนไขเฉพาะเจาะจง
อ่านแล้วทำอะไรต่อ
คำนวณยอดขายเฉพาะแถวที่อยู่ในช่องทาง Online เท่านั้น
เห็นภาพ: ทริคนี้เป็นยังไง
Sales Amount = SUM(Sales[Amount])Online Sales =
CALCULATE(
[Sales Amount],
Sales[Channel] = "Online"
)ใช้ตอนไหน?
- คุณต้องการ measure สำหรับกลุ่มหรือเงื่อนไขเฉพาะเจาะจง
- คุณต้องการเปลี่ยน filter context (บริบทการกรองข้อมูล) ภายใน measure
- คุณต้องการคำนวณตามช่วงเวลา อัตราส่วน หรือ KPI (ตัวชี้วัดผลงาน) แบบมีเงื่อนไข
ถ้าเทียบกับ Excel
กล่องนี้ช่วยแปลคำ Power BI ให้โยงกับงาน Excel ที่คุ้นอยู่แล้ว.
ใน Excel
คล้าย SUMIFS ที่รวมยอดภายใต้เงื่อนไข แต่ Power BI ต้องคิดร่วมกับ slicer และ visual ที่กำลังกรองอยู่
ใน Power BI
CALCULATE เปลี่ยน filter context ของ measure เพื่อให้ได้ตัวเลขเฉพาะมุมที่ต้องการ
จำแค่นี้ก่อน
อย่าใส่ CALCULATE ทุกสูตร ให้ใช้เมื่อมีเหตุผลว่าต้องเปลี่ยน filter
ต่อไปทำอะไร
ถ้างงเรื่องผลลัพธ์ ให้กลับไปอ่าน Filter Context ก่อน
ความหมาย
CALCULATE คือฟังก์ชันหลักของ DAX (ภาษาสูตรของ Power BI) ใช้คำนวณ measure (ค่าที่คำนวณใน Power BI) หรือนิพจน์ พร้อมกับเพิ่ม แทนที่ หรือปรับเปลี่ยนตัวกรองไปด้วย
รูปแบบของ CALCULATE
อาร์กิวเมนต์ตัวแรกคือนิพจน์ที่จะคำนวณ ส่วนอาร์กิวเมนต์ที่เหลือใช้ปรับ filter context
Sales Amount = SUM(Sales[Amount])
Online Sales =
CALCULATE(
[Sales Amount],
Sales[Channel] = "Online"
)ตัวอย่างการใช้
เจาะเฉพาะช่องทางเดียว
คำนวณยอดขายเฉพาะแถวที่อยู่ในช่องทาง Online เท่านั้น