[DAX] SWITCH Function

สวัสดีครับทุกท่าน สัปดาห์นี้เรามารู้จักคำสั่ง SWITCH ของโปรแกรม Power BI โดยคำสั่งนี้เป็นคำสั่งง่ายๆ ที่สามารถใช้ได้อย่างอเนกประสงค์มากๆเลยครับ เรามาลองมาดูกันเลยดีกว่าครับ

โครงสร้างสูตร SWITCH

SWITCH( <expression> , <value1>, <result1>, <value2>, <result2>, ….., <result else>)

คำสั่ง SWITCH ใช้งานง่ายๆเลยครับ ถ้าใครเคยเขียนโปรแกรมแล้วใช้คำสั่งนี้ในการจัดการเงื่อนไข หลักแนวคิดก็จะเป็นแบบเดียวกันเลยครับ คือ
1. ส่วน Expression เราจะใช้เป็นชื่อ field ที่ต้องการตรวจสอบ หรือจะใส่เป็นสูตรต่างๆก็ได้ครับ และ
2. เราต้องเตรียมค่าเป็นชุดๆ โดยแต่ละชุดจะเป็นค่า value ไว้เปรียบเทียบเงื่อนไขและ result ที่ต้องการให้แสดงหากตรงเงื่อนไขของค่า value ที่กำหนด ซึ่งเราสามารถใส่ได้หลายๆชุดเงื่อนไขครับ
3. result else ในส่วนสุดท้าย หากเงื่อนไขไม่ตรงกับค่าใดๆเลยให้แสดงเป็นอะไร

ตัวอย่าง เรามี Field ที่เป็นเลขเดือนอยู่ครับ คือ 1-12 และจะมีค่า 13 ซึ่งไม่สามารถแปลงเป็นชื่อเดือนได้

เราจึงสามารถเขียนสูตร SWITCH ได้เป็นดังนี้ครับ

MonthName = SWITCH(‘Calendar'[Month], 1, “มกราคม”, 2, “กุมภาพันธ์”, 3, “มีนาคม”,4 , “เมษายน”, 5, “พฤษภาคม”, 6, “มิถุนายน”, 7, “กรกฎาคม”, 8, “สิงหาคม”, 9, “กันยายน”, 10, “ตุลาคม”, 11, “พฤศจิกายน”, 12, “ธันวาคม”, “ไม่สามารถแปลงชื่อเดือนได้”)

โดยค่าแรกจะเป็น Field ที่ไว้เปรียบเทียบ และจะมีเทียบกับค่าที่กำหนดคือ ถ้า 1 ให้แสดง มกราคม ถ้าเป็น 2 แสดงกุมภาพันธ์ ไปเรื่อยๆ และถ้าหากไม่อยู่ในช่วง 1-12 ให้แสดงคำว่า ไม่สามารถแปลงชื่อเดือนได้

เมื่อเราเอาค่า MonthName ที่สร้างจากสูตร SWITCH มาแสดงก็จะแสดงได้ตรงตามเงื่อนไขที่กำหนดไว้อย่างถูกต้องครับ

สูตร SWITCH นี้มีประโยชน์มากๆสำหรับแปลงและแก้ไขข้อมูลเลยนะครับ และยังช่วยเรื่องการนำไปใช้จัดรูปแบบข้อมูลให้เป็นรูปแบบเดียวกันอีกด้วย ตัวอย่างเช่น ถ้าหากเพศ เป็น “ชาย”, “ช”, “ผู้ชาย”, “ผช.” เราก็สามารถใส่เงื่อนไขและเปลี่ยนให้เป็นเพียงค่า ชาย ค่าเดียวได้ ซึ่งน่าจะพอจะเป็นไอเดียได้นะครับ ถ้าหากมีคำถามหรือข้อสงสัย สามารถพูดคุยได้ที่เพจ Ping2Share กันได้นะครับ แล้วพบกันใหม่ในบทความถัดไปนะครับ สวัสดีครับ

No Comments

Leave a Comment