IF
ตรวจสอบเงื่อนไข และส่งกลับค่าหนึ่งเมื่อเป็น TRUE มิฉะนั้นจะส่งกลับค่าที่สอง
ไวยากรณ์
IF(<logical_test>, <value_if_true>[, <value_if_false>])
พารามิเตอร์
| เงื่อนไข | ข้อกำหนด |
|---|---|
| logical_test | ค่าหรือนิพจน์ใด ๆ ที่สามารถประเมินเป็น TRUE หรือ FALSE ได้ |
| value_if_true | ค่าที่ส่งกลับถ้าการทดสอบเชิงตรรกะเป็น TRUE |
| value_if_false | (เป็นทางเลือก) ค่าที่แสดงถ้าการทดสอบเชิงตรรกะเป็น FALSE หากเกิดความล้มเหลว หน้าว่างจะกลับมา |
ค่าผลลัพธ์
อย่างใดอย่างหนึ่งระหว่าง value_if_true, value_if_falseหรือ BLANK
หมายเหตุ
ฟังก์ชัน IF สามารถดึงประเภทข้อมูลที่เปลี่ยนแปลงกลับมาได้หาก value_if_true และ value_if_false เป็นประเภทข้อมูลที่แตกต่างกัน แต่ถ้าเป็นฟังก์ชันพยามที่จะดึงประเภทข้อมูลเดี่ยวคืนมาหากทั้ง value_if_true และ value_if_false เป็นประเภทข้อมูลตัวเลข ในกรณีต่อมา ฟังก์ชัน IF จะเปลี่ยนประเภทข้อมูลโดยปริยายเป็นค่าที่เข้ากันได้
ตัวอย่างเช่น สูตร ส่งกลับ
IF(<condition>, TRUE(), 0)TRUE หรือ 0 แต่สูตรIF(<condition>, 1.0, 0)จะแสดงเพียงค่าIF(<condition>, TRUE(), 0)ที่เป็นประเภทข้อมูลตัวเลขทั้งหมด หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแปลงชนิดข้อมูลโดยนัย ให้ดูชนิดข้อมูลหากต้องการใช้นิพจน์สาขาโดยไม่ขึ้นกับนิพจน์เงื่อนไข ให้ใช้ IF แต่กระตือรือร้น แทน
ตัวอย่าง
คำจำกัดความของคอลัมน์ที่คำนวณของตาราง Product ต่อไปนี้จะใช้ฟังก์ชัน IF ในรูปแบบที่แตกต่างกันในการจัดประเภทแต่ละผลิตภัณฑ์ตามราคาของรายการ
ตัวอย่างแรกทดสอบว่าค่าของคอลัมน์ List Price น้อยกว่า 500 หรือไม่ เมื่อเงื่อนไขนี้เป็นจริง ค่า Low จะถูกส่งกลับ เนื่องจากไม่มีค่า value_if_false ระบบจึงส่งกลับ BLANK
คุณสามารถเพิ่มตัวอย่างในบทความนี้ลงในรูปแบบPower BI Desktopตัวอย่างได้ หากต้องการรับแบบลอง โปรดดูแบบลองตัวอย่าง DAX
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
ตัวอย่างที่สองใช้การทดสอบเดียวกัน แต่คราวนี้มีค่า value_if_false ดังนั้นสูตรจะจัดประเภทแต่ละผลิตภัณฑ์เป็น Low หรือ High
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
ตัวอย่างที่สามใช้การทดสอบเดียวกัน แต่คราวนี้จะเป็นการซ้อนทับฟังก์ชัน IF เพื่อดำเนินการทดสอบเพิ่มเติม ดังนั้นสูตรจะจัดประเภทแต่ละผลิตภัณฑ์เป็น Low, Medium หรือ High
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
เคล็ดลับ
เมื่อคุณจำเป็นต้องทำการซ้อนฟังก์ชัน IF หลายตัว ฟังก์ชัน SWITCH อาจเป็นตัวเลือกที่ดีกว่า ฟังก์ชันนี้มีวิธีการที่สวยงามมากกว่าในการเขียนนิพจน์ที่ส่งกลับค่าที่เป็นไปได้มากกว่าสองค่า