กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ
ประเมินนิพจน์เทียบกับรายการค่าและแสดงหนึ่งในหลายนิพจน์ผลลัพธ์ที่เป็นไปได้ ฟังก์ชันนี้สามารถใช้เพื่อหลีกเลี่ยงการมีคําสั่ง IF ที่ซ้อนกันหลายคําสั่ง
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
เงื่อนไข | คำนิยาม |
---|---|
สีหน้า | นิพจน์ DAX ใด ๆ ที่แสดงเป็นค่าสเกลาเดียวซึ่งจะมีการประเมินนิพจน์หลายครั้ง (สําหรับแต่ละแถว/บริบท) |
ค่า | ค่าคงที่ที่จะตรงกับผลลัพธ์ของนิพจน์ |
ผลลัพธ์ | นิพจน์สเกลาใด ๆ ที่จะประเมินถ้าผลลัพธ์ของนิพจน์ตรงกับค่าที่สอดคล้องกัน |
else | นิพจน์สเกลาใด ๆ ที่จะประเมินถ้าผลลัพธ์ของนิพจน์ไม่ตรงกับอาร์กิวเมนต์ของค่า |
ถ้ามีรายการที่ตรงกันกับค่า ค่าสเกลาจากผลลัพธ์ที่สอดคล้องกันจะถูกส่งกลับ ถ้าไม่ตรงกับ ค่า ค่าจาก รายการอื่น จะถูกส่งกลับ ถ้าไม่มีค่าที่ตรงกันและไม่ได้ระบุ BLANK จะแสดงเป็น
การใช้งานโดยทั่วไปของ SWITCH คือการเปรียบเทียบนิพจน์ที่มีค่าคงที่ ตัวอย่างต่อไปนี้จะสร้างคอลัมน์จากการคํานวณของชื่อเดือน:
= 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"
)
ลําดับของ ค่า มีความสําคัญ ในตัวอย่างต่อไปนี้ ระบบจะไม่แสดงผลลัพธ์ที่สองเนื่องจากค่าแรกจะถูกจํากัดน้อยกว่าค่าที่สอง ผลลัพธ์ในตัวอย่างนี้คือ "A" หรือ "C" เสมอ แต่ไม่ใช้ "B"
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
คําสั่งต่อไปนี้แสดงข้อผิดพลาดเนื่องจากชนิดข้อมูลใน อาร์กิวเมนต์ผลลัพธ์ แตกต่างกัน โปรดทราบว่าชนิดข้อมูลในผลลัพธ์ทั้งหมดและอาร์กิวเมนต์อื่น ๆ ต้องเหมือนกัน
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)
กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้