กิจกรรม
31 มี.ค. 23 - 2 เม.ย. 23
究極の Microsoft Fabric、Power BI、SQL、AI コミュニティ主導のイベント。 2025 年 3 月 31 日から 4 月 2 日。
今すぐ登録เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ
ประเมินนิพจน์เทียบกับรายการค่าและแสดงหนึ่งในหลายนิพจน์ผลลัพธ์ที่เป็นไปได้ ฟังก์ชันนี้สามารถใช้เพื่อหลีกเลี่ยงการมีคําสั่ง IF ที่ซ้อนกันหลายคําสั่ง
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
เงื่อนไข | คำนิยาม |
---|---|
expression |
นิพจน์ DAX ใด ๆ ที่แสดงเป็นค่าสเกลาเดียวซึ่งจะมีการประเมินนิพจน์หลายครั้ง (สําหรับแต่ละแถว/บริบท) |
value |
ค่าคงที่ที่จะจับคู่กับผลลัพธ์ของ expression |
result |
นิพจน์สเกลาใด ๆ ที่จะประเมินถ้าผลลัพธ์ของ expression ตรงกับ value ที่สอดคล้องกัน |
else |
นิพจน์สเกลาใด ๆ ที่จะประเมินถ้าผลลัพธ์ของ expression ไม่ตรงกับอาร์กิวเมนต์ value |
ถ้ามีการจับคู่กับ value
ค่าสเกลาจาก result
ที่สอดคล้องกันจะถูกส่งกลับ ถ้า ไม่ตรงกับ value
ค่าจาก else
จะถูกส่งกลับ ถ้าไม่มี values
ตรงกันและไม่ได้ระบุ else
จะส่งกลับ BLANK
expression
ที่จะประเมินสามารถเป็นค่าคงที่หรือนิพจน์ได้ การใช้งานโดยทั่วไปของฟังก์ชันนี้คือ การตั้งค่าพารามิเตอร์แรกเป็น TRUE
ดูตัวอย่างด้านล่างresult
ทั้งหมดและนิพจน์ else
ต้องเป็นชนิดข้อมูลเดียวกันvalue
รายการที่ตรงกัน ระบบจะส่งกลับ result
ที่สอดคล้องกัน และ values
อื่น ๆ ที่ตามมาจะไม่ถูกประเมิน ตรวจสอบให้แน่ใจว่ามีการระบุ values
ที่เข้มงวดที่สุดก่อนที่จะมี values
ที่เข้มงวดน้อยลง ดูตัวอย่างด้านล่างการใช้งาน SWITCH โดยทั่วไปคือการเปรียบเทียบ expression
กับ values
คงที่ ตัวอย่างต่อไปนี้จะสร้างคอลัมน์จากการคํานวณของชื่อเดือน:
= SWITCH (
[Month Number Of Year],
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"Unknown month number"
)
การใช้งานโดยทั่วไปอื่นของ SWITCH คือการแทนที่คําสั่ง IF ที่ซ้อนกันหลายรายการ สิ่งนี้สามารถทําได้โดยการตั้งค่านิพจน์เป็น TRUE
ดังที่แสดงในตัวอย่างต่อไปนี้ ซึ่งเปรียบเทียบระดับสต็อกจุดสั่งซื้อใหม่และระดับสต็อกด้านความปลอดภัยบนผลิตภัณฑ์เพื่อระบุความเสี่ยงที่อาจเกิดขึ้นจากการหมดสต็อก:
= SWITCH (
TRUE,
[Reorder Point] > [Safety Stock Level], "Good: Safety stock level exceeded",
[Reorder Point] = [Safety Stock Level], "Minimal: Safety stock level met",
[Reorder Point] < [Safety Stock Level], "At risk: Safety stock level not met",
ISBLANK ( [Reorder Point] ), "Incomplete: Reorder point not set",
ISBLANK ( [Safety Stock Level] ), "Incomplete: Safety stock level not set",
"Unknown"
)
ลําดับของ values
มีความสําคัญ ในตัวอย่างต่อไปนี้ result
ที่สองจะไม่ถูกส่งกลับเนื่องจากค่าแรกจะถูกจํากัดน้อยกว่าค่าที่สอง ผลลัพธ์ในตัวอย่างนี้จะ A
หรือ C
เสมอ แต่ไม่ B
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
คําสั่งต่อไปนี้แสดงข้อผิดพลาดเนื่องจากชนิดข้อมูลในอาร์กิวเมนต์ result
แตกต่างกัน โปรดทราบว่าชนิดข้อมูลในอาร์กิวเมนต์ result
และ else
ทั้งหมดต้องเหมือนกัน
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)
กิจกรรม
31 มี.ค. 23 - 2 เม.ย. 23
究極の Microsoft Fabric、Power BI、SQL、AI コミュニティ主導のイベント。 2025 年 3 月 31 日から 4 月 2 日。
今すぐ登録