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 บทเรียน)