ใช้ฟังก์ชันตัวทำซ้ำการรวม

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

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

การสรุปที่ซับซ้อน:

ในส่วนนี้ คุณจะสร้างหน่วยวัดแรกของคุณที่ใช้ฟังก์ชันตัวทำซ้ำ ก่อนอื่น ให้ดาวน์โหลดและเปิดไฟล์ Adventure Works DW 2020 M05.pbix ถัดไป ให้เพิ่มข้อกำหนดหน่วยวัดต่อไปนี้:

Revenue =
SUMX(
    Sales,
    Sales[Order Quantity] * Sales[Unit Price] * (1 - Sales[Unit Price Discount Pct])
)

จัดรูปแบบหน่วยวัด รายได้ เป็นสกุลเงินด้วยตําแหน่งทศนิยมสองจุด จากนั้นเพิ่มลงในภาพตารางที่พบใน หน้า 1 ของรายงาน

รูปภาพแสดงตารางภาพที่มีสองคอลัมน์: เดือนและรายได้ มีการแสดงค่าของข้อมูลปี

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

ในตอนนี้ ให้เพิ่มหน่วยวัดอื่นดังนี้:

Discount =
SUMX(
    Sales,
    Sales[Order Quantity]
    * (
        RELATED('Product'[List Price]) - Sales[Unit Price]
    )
)

จัดรูปแบบหน่วยวัดส่วนลด เป็นสกุลเงินด้วยตำแหน่งทศนิยมสองจุด จากนั้นเพิ่มลงในภาพตาราง

รูปภาพแสดงตารางภาพที่มีสามคอลัมน์: เดือน รายได้ และส่วนลด มีการแสดงค่าของข้อมูลปี

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

การสรุปเกรนที่สูงขึ้น

ตัวอย่างต่อไปนี้พิจารณาความต้องการในการรายงานรายได้เฉลี่ย เพิ่มหน่วยวัดต่อไปนี้:

Revenue Avg =
AVERAGEX(
    Sales,
    Sales[Order Quantity] * Sales[Unit Price] * (1 - Sales[Unit Price Discount Pct])
)

จัดรูปแบบหน่วยวัดรายได้เฉลี่ย เป็นสกุลเงินที่มีจุดทศนิยมสองจุด จากนั้นเพิ่มลงในภาพตาราง

รูปภาพแสดงตารางภาพที่มีสามคอลัมน์: เดือน, รายได้, ส่วนลด, และรายได้เฉลี่ย มีการแสดงค่าของข้อมูลปี

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

อย่างไรก็ตาม คุณควรเปลี่ยนชื่อหน่วยวัดรายได้เฉลี่ยเป็นรายได้จากบรรทัดตามลำดับโดยเฉลี่ย เพื่อให้สามารถรายงานผู้ใช้เกี่ยวกับสิ่งที่ถูกใช้เป็นฐานโดยเฉลี่ยได้

ตัวอย่างต่อไปนี้ใช้ฟังก์ชันตัวทำซ้ำเพื่อสร้างหน่วยวัดใหม่ที่ทำให้เกิดส่วนประกอบในระดับลำดับยอดขาย (ลำดับยอดขายประกอบด้วยหนึ่งบรรทัดตามลำดับเป็นอย่างน้อย) เพิ่มหน่วยวัดต่อไปนี้:

Revenue Avg Order =
AVERAGEX(
    VALUES('Sales Order'[Sales Order]),
    [Revenue]
)

จัดรูปแบบหน่วยวัดลำดับรายได้เฉลี่ย เป็นสกุลเงินด้วยตำแหน่งทศนิยมสองจุดจากนั้นเพิ่มไปยังภาพตาราง

รูปภาพแสดงตารางภาพที่มีห้าคอลัมน์: เดือน, รายได้, ส่วนลด, รายได้, รายได้จากบรรทัดตามลำดับ, และรายได้เฉลี่ยตามลำดับ มีการแสดงค่าของข้อมูลปี

ตามที่คาดหวัง รายได้เฉลี่ยสำหรับการสั่งซื้อมักจะสูงกว่ารายได้เฉลี่ยสำหรับบรรทัดตามลำดับเดียว

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