DAX Function IF พร้อมตัวอย่างการใช้งาน

สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่
- Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง
- Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว
- Calculated table – สร้างการคำนวณให้เกิดตารางใหม่
DAX Function IF
ตรวจสอบว่าตรงตามเงื่อนไขหรือไม่ และส่งคืนค่าหนึ่งค่าหากเป็น TRUE และอีกค่าหนึ่งหากเป็น FALSE
รูปแบบของ Syntax
IF(<logical_test>, <value_if_true>[, <value_if_false>])
พารามิเตอร์
พารามิเตอร์ | รายละเอียด |
logical_test | ค่าใด ๆ หรือ expression ที่สามารถประเมินค่าเป็น TRUE หรือ FALSE ได้ |
value_if_true | ค่าที่ส่งกลับถ้า logical_test เป็น TRUE |
value_if_false | ค่าที่ส่งกลับถ้า logical_test เป็น FALSE ถ้าไม่ระบุ จะส่งกลับค่า BLANK (ไม่บังคับเป็นทางเลือก) |
การคืนค่า
ค่าหนึ่งค่า อย่างใดอย่างหนึ่งระหว่าง value_if_true, value_if_false หรือ BLANK
ข้อสังเกตที่ควรทราบ
- ฟังก์ชัน IF สามารถส่งคืนค่าเป็นประเภทข้อมูล variant data type หากค่า value_if_true และค่า value_if_false เป็นประเภทข้อมูลที่แตกต่างกัน แต่ฟังก์ชัน IF จะพยายามส่งคืนประเภทข้อมูลเดียวกัน เช่น ค่า value_if_true และค่า value_if_false เป็นประเภทข้อมูลตัวเลข ซึ่งฟังก์ชัน IF จะแปลงประเภทข้อมูลโดยปริยายเพื่อรองรับค่าทั้งสอง
ตัวอย่างสูตร IF(<condition>, TRUE(), 0) คืนค่า TRUE หรือ 0 แต่หากเป็นสูตร IF(<condition>, 1.0, 0) ส่งคืนเป็นประเภทข้อมูลเฉพาะค่าทศนิยม แม้ว่าค่า value_if_false จะเป็นประเภทข้อมูลจำนวนเต็ม หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแปลงประเภทข้อมูลโดยปริยาย โปรดดูที่ประเภทข้อมูล Data types - หากใช้ฟังก์ชัน IF เดี่ยว ๆ ในการ Calculated columns ซึ่งกรณีที่ผลลัพธ์ค่า value_if_true หรือค่า value_if_false เป็นประเภทข้อมูลที่แตกต่างกัน จะได้ผลลัพธ์ในคอลัมน์เป็น #ERROR พร้อมคำเตือนที่สูตรที่ใช้ฟังก์ชัน IF ว่า "Expressions that yield variant data-type cannot be used to define calculated columns."
ตัวอย่างการใช้งาน
ตัวอย่างการใช้ฟังก์ชัน IF ในการสร้างคอลัมน์เพื่อจัดกลุ่มราคาสินค้าที่ขาย เป็น 3 กลุ่ม
จากตัวอย่างเป็นข้อมูลการขายสินค้า โดยมีข้อมูลตาราง Sales ที่มีรายละเอียดการขายสินค้า ซึ่งมีคอลัมน์ราคาขายต่อหน่วยอยู่ที่คอลัมน์ UnitPrice, ยอดขายแต่ละรายการอยู่ที่คอลัมน์ Sales amount และมีรายละเอียดว่ารายการขายแต่ละการขายเป็นของพนักงานใดอยู่ที่คอลัมน์ EmployeeCode

นอกจากตาราง Sales แล้วยังมีตาราง Employee ที่มีรายละเอียดพนักงานตามรายการ EmployeeCode

โดยตาราง Sales กับตาราง Employee มีการทำ Relationship ระหว่างกันด้วยคอลัมน์ EmployeeCode ของแต่ละตาราง

โดยจากข้อมูลการขายสินค้า สามารถหายอดขายรวมสินค้า (Total Sales) ด้วยการสร้าง measure Total Sales ดังนี้
Total Sales = SUM(Sales[Sales amount])
และจากข้อมูลตาราง Sales ซึ่งมีข้อมูลราคาขายต่อหน่วยอยู่ที่คอลัมน์ UnitPrice นั้น เราสามารถจัดกลุ่มราคาขายสินค้าได้ ยกตัวอย่างแบ่งออกเป็น 3 กลุ่มดังนี้
- กลุ่มราคาขายสินค้าต่ำ (Low) ซึ่งมีเงื่อนไขหากราคาขายสินค้า UnitPrice มีราคาขายต่อหน่วยน้อยกว่า 25 ลงไป
- กลุ่มราคาขายสินค้ากลาง (Medium) ซึ่งมีเงื่อนไขหากราคาขายสินค้า UnitPrice มีราคาขายต่อหน่วยตั้งแต่ 25 แต่น้อยกว่า 75
- กลุ่มราคาขายสินค้าสูง (High) ซึ่งมีเงื่อนไขหากราคาขายสินค้า UnitPrice มีราคาขายต่อหน่วยตั้งแต่ 75 ขึ้นไป
ซึ่งสามารถจัดกลุ่มราคาสินค้าออกเป็น 3 กลุ่มตามเงื่อนไขนี้ ได้ด้วยการสร้างคอลัมน์ใหม่ชื่อ Price Group โดยใช้ฟังก์ชัน IF ในการ Calculated columns ดังนี้

ตัวอย่างการใช้งาน IF ใน Visualization
ในตัวอย่างนี้นำคอลัมน์ใหม่ Price Group มาแสดงเป็น Visualization- แบบ Pie chart ที่แสดงยอดขายรวมสินค้า Total Sales แบ่งตามกลุ่มราคาสินค้าที่ขาย Price Group ซึ่งกราฟนี้ทำให้เห็นมุมมองยอดขายตามกลุ่มราคาสินค้า (ต่ำ, กลาง, สูง) ว่าแต่ละกลุ่มมียอดขายเป็นเท่าไร และมีสัดส่วนจากยอดขายทั้งหมดเป็นกี่เปอร์เซ็นต์
- แบบ Stacked bar chart ที่แสดงยอดขายรวมสินค้า Total Sales ตามชื่อพนักงานขาย Name ซึ่งในแต่ละพนักงานขายแบ่งยอดขายรวมสินค้าตามกลุ่มราคาสินค้าที่ขาย Price Group ซึ่งกราฟนี้ทำให้เห็นมุมมองยอดขายของพนักงานขายแต่ละคน ว่ามียอดขายแยกตามกลุ่มราคาสินค้า (ต่ำ, กลาง, สูง) เป็นเท่าไร

Download
DAX Function IF
รับข่าวสารจาก 9Expert Trainingการดาวน์โหลดไฟล์นั้น แสดงว่าคุณได้ยอมรับ Privacy Policy ของเราแล้ว
ข้อมูลอ้างอิงจากเว็บไซต์
- https://docs.microsoft.com/en-us/dax/if-function-dax
- https://dax.guide/if/
- https://docs.microsoft.com/en-us/dax/dax-overview#data-types
- https://dax.guide/dt/variant/
บทความเกี่ยวกับ DAX ที่น่าสนใจ
- Data Analysis Expression (DAX) คืออะไร
- DAX Measures และ Calculated Column
- การสร้าง DAX Measures ใน Power BI
- DAX Functions A to Z รวมสูตร 26 สูตร ที่น่าสนใจ พร้อมวิธีใช้งาน
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง DAX เพื่อใช้งานด้าน Data Analysis, Data Analytic, BI โดยใช้ Power BIในหลักสูตร Data Analysis Expression (DAX) for Power BI (2 Days)
มีหลักสูตรการอบรมเกี่ยวกับ Power BI เพิ่มเติมดังนี้
- Power BI Desktop for Business Analytics (2 Days)
- Power BI Advanced Visualization and AI (2 Days)
- Power BI Advanced Power Query (2 Days)
- Data Model for Power BI (2 Days)
หรือรูปแบบ Online ที่
- Microsoft Power BI for Business Analytics (64 บทเรียน)