หลีกเลี่ยงการแปลง BLANK ไปเป็นค่า

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

พิจารณาข้อกำหนดหน่วยวัดต่อไปนี้ที่แปลงผลลัพธ์ BLANK เป็นศูนย์อย่างชัดเจน

Sales (No Blank) =
IF(
    ISBLANK([Sales]),
    0,
    [Sales]
)

พิจารณาข้อกำหนดหน่วยวัดอื่นที่แปลงผลลัพธ์ BLANK เป็นศูนย์ด้วย

Profit Margin =
DIVIDE([Profit], [Sales], 0)

ฟังก์ชัน DIVIDE หารหน่วยวัด กำไร ด้วยหน่วยวัด ยอดขาย หากผลลัพธ์เป็นศูนย์หรือ BLANK อาร์กิวเมนต์ที่สาม - ผลลัพธ์อื่น (ซึ่งเป็นทางเลือก) - ถูกส่งกลับ ในตัวอย่างนี้ เนื่องจากมีการส่งผ่านศูนย์เป็นผลลัพธ์ทางเลือก ดังนั้นหน่วยวัดนั้นจึงรับประกันว่าจะส่งกลับค่าเสมอ

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

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

นอกจากนี้ การจัดกลุ่มมากเกินไปมักจะครอบงำผู้ใช้รายงานของคุณ

เรามาดูกันว่าจะเกิดอะไรขึ้นเมื่อมีการเพิ่มหน่วยวัด อัตรากำไร ในตารางวิชวล การจัดกลุ่มตามลูกค้า

ภาพหน้าจอของ Power B I Desktop ที่แสดงวิชวลตารางของข้อมูลที่มีหนึ่งแถวต่อลูกค้า ค่ายอดขายจะว่างเปล่าและค่าอัตรากําไรเป็นศูนย์เปอร์เซ็นต์

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

หมายเหตุ

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

เรามาดูว่าจะเกิดอะไรขึ้นเมื่อมีการปรับปรุงข้อกำหนดหน่วยวัด อัตรากำไร ในตอนนี้จะส่งกลับค่าเฉพาะเมื่อหน่วยวัด ยอดขาย ไม่เป็น BLANK (หรือศูนย์)

Profit Margin =
DIVIDE([Profit], [Sales])

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

ภาพหน้าจอPower BI Desktopแสดงข้อมูลแบบตารางที่มีเนื้อหาที่ถูกกรอง

เคล็ดลับ

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

คำแนะนำ

เราแนะนาให้หน่วยวัดของคุณส่งกลับค่า BLANK เมื่อไม่สามารถส่งกลับค่าที่มีมีความหมาย

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

นอกจากนี้ โปรดดู