[DAX] Calculate Function

สวัสดีครับทุกท่าน บทความประจำสัปดาห์มาแล้วครับ วันนี้เรามาพูดกันกับสูตร DAX ที่เป็นสูตรเฉพาะสำหรับการใช้ในโปรแกรม Power BI กันนะครับ เรามาเริ่มต้นด้วยสูตร CALCULATE ซึ่งเป็นสูตรหลักที่ควรรู้กันครับ

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

CALCULATE(<expression>,<filter1>,<filter2>…)

เราสามารถใช้งานได้ง่ายๆคือ เขียนสูตรที่เราต้องการลงในส่วน expression เช่น SUM ค่าๆหนึ่ง แล้วกำหนด Field ที่เราต้องการ filter ลงในส่วน filter1 ถ้ามีหลายๆ field ที่ต้องการ filter ก็สามารถใส่เพิ่มต่อไปได้เรื่อยๆครับ

ยกตัวอย่างว่าถ้าเราอยากได้ผลรวมยอดขายของสินค้ารหัส 67011672 และลูกค้ารหัส 244075 ยอดขายจะได้เป็น 40 ชิ้น เราสามารถเขียนสูตรได้เป็น

CALCULATE(SUM(‘Sales Transaction'[Sale Quantity]),’Sales Transaction'[Product ID]=67011672,’Sales Transaction'[Customer ID]=244075)

เมื่อเทียบกับรูปด้านบนแล้วจะเห็นว่า ค่าผลรวมที่ได้ 40 นั้นตรงกับตารางด้านขวาที่ตีกรอบสีแดงไว้นั่นเองครับ

จะเห็นว่าสูตรนี้ค่อนข้างยืดหยุ่นมากๆเพราะสามารถใส่สูตรที่ต้องการคำนวนไว้ด้านใน และใส่เงื่อนไขที่อยากจะ Filter ได้เรื่อยๆ แต่ถ้าเราไม่อยาก Filter เราสามารถใช้คำสั่ง ALL(TableName) เพื่อบอกว่าไม่มีการ Filter ได้ครับ

จากตัวอย่างนี้ เราจะใช้คำสั่ง ALL(‘Sales Transaction’) ในส่วนของที่เป็น Filter นะครับ จะเห็นว่าผลรวมที่ได้คือ 4684 และสังเกตได้ว่า สูตรนี้เมื่อคำนวนออกมาแล้วจะได้เป็นค่าๆเดียวไม่เปลี่ยนค่ากับการแบ่งด้วยรหัสสินค้าครับ

ประโยชน์ของการใช้สูตรนี้ทำให้เราสามารถนำค่า Sale Quantity มาหารด้วย Total Sale ที่คำนวนจากสูตร CALCULATE เพื่อหา%ส่วนแบ่งการขายรายสินค้าได้นั่นเองครับ ถ้าดูจากบรรทัดแรกของตัวอย่างนั่นคือ 2116/4684 = 45.18% นั่นเองครับ

จบแล้วครับสำหรับสูตร CALCULATE ถือว่าเป็นสูตรเริ่มต้นและสำคัญเพื่อใช้เป็นสูตรพื้นฐานในการใช้ร่วมกับสูตรอื่นๆครับ หากมีคำถามหรือข้อสงสัย สามารถพูดคุยได้ที่เพจ Ping2Share กันได้นะครับ แล้วพบกันใหม่ในบทความถัดไปนะครับ สวัสดีครับ

No Comments

Leave a Comment