แชร์ผ่าน


IF

นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล

ตรวจสอบเงื่อนไข และแสดงค่าหนึ่งเมื่อ TRUEมิฉะนั้นจะส่งกลับค่าที่สอง

วากยสัมพันธ์

IF(<logical_test>, <value_if_true>[, <value_if_false>])

พารามิเตอร์

เทอม นิยาม
logical_test ค่าหรือนิพจน์ใด ๆ ที่สามารถประเมินเป็น TRUE หรือ FALSEได้
value_if_true ค่าที่แสดงถ้าการทดสอบเชิงตรรกะ TRUE
value_if_false (ไม่บังคับ) ค่าที่แสดงถ้าการทดสอบเชิงตรรกะ FALSE ถ้าเว้นไว้ BLANK จะถูกส่งกลับ

ค่าผลลัพธ์

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) จะแสดงเฉพาะค่าทศนิยมแม้ว่า value_if_false จะเป็นชนิดข้อมูลจํานวนเต็มก็ตาม หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแปลงชนิดข้อมูลโดยนัย โปรดดู ชนิดข้อมูล

  • หากต้องการดําเนินการนิพจน์สาขาโดยไม่คํานึงถึงนิพจน์เงื่อนไข ให้ใช้ IF.EAGER แทน

ตัว อย่าง เช่น

ข้อกําหนดคอลัมน์จากการคํานวณของตาราง Product ต่อไปนี้ใช้ฟังก์ชัน IF ในวิธีที่แตกต่างกันในการจัดประเภทแต่ละผลิตภัณฑ์ตามราคาของรายการ

ตัวอย่างแรกทดสอบว่าค่าคอลัมน์ List Price น้อยกว่า 500 หรือไม่ เมื่อเงื่อนไขนี้เป็นจริง ค่า Low จะถูกส่งกลับ เนื่องจากไม่มีค่า value_if_false จึงส่งกลับ BLANK

ตัวอย่างในบทความนี้สามารถใช้ได้กับตัวอย่าง Adventure Works DW 2020 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 อาจเป็นตัวเลือกที่ดีกว่า ฟังก์ชันนี้มีวิธีการที่สวยงามมากกว่าในการเขียนนิพจน์ที่ส่งกลับค่าที่เป็นไปได้มากกว่าสองค่า

ฟังก์ชัน IF.EAGERSWITCH ฟังก์ชัน (DAX)ฟังก์ชันตรรกะ