บทนำ

เสร็จสมบูรณ์เมื่อ

ดูวิดีโอต่อไปนี้เพื่อเรียนรู้เกี่ยวกับฟังก์ชันตัวทำซ้ำ

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

ในตอนนี้ คุณคุ้นเคยกับฟังก์ชันการสรุปคอลัมน์เดียว รวมถึง SUM, COUNT, MIN, MAX, และอื่น ๆ แต่ละฟังก์ชันเหล่านี้มีฟังก์ชันตัวทําซ้ําที่เทียบเท่าที่ระบุโดยส่วนต่อท้าย "X" เช่น SUMX, COUNTX, MINXMAXX, และอื่น ๆ นอกจากนี้ยังมีฟังก์ชันตัวทำซ้ำพิเศษที่ทำการกรองการจัดอันดับการคำนวณกึ่งบวกเมื่อเวลาผ่านไปและอื่นๆ อีกมากมาย

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

ฟังก์ชันการสรุปแบบคอลัมน์เดียว เช่น SUMเป็นฟังก์ชันแบบย่อ Microsoft Power BI จะแปลงฟังก์ชันเป็น SUMSUMXภายใน ด้วยเหตุนี้ ข้อกําหนดหน่วยวัดสองรายการต่อไปนี้จะสร้างผลลัพธ์เดียวกันที่มีประสิทธิภาพเหมือนกัน

Revenue = SUM(Sales[Sales Amount])
Revenue =
SUMX(
    Sales,
    Sales[Sales Amount]
)

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

ข้อสำคัญ

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