ทำงานกับฟังก์ชัน DAX
ไลบรารีฟังก์ชัน DAX ประกอบด้วยหลายฟังก์ชันร้อยรายการ โดยแต่ละรายการออกแบบมาเพื่อให้บรรลุเป้าหมายที่เจาะจง
เนื่องจาก DAX มาพร้อมกับ Add-in ของ Power Pivot สำหรับ Microsoft Excel 2010 มีฟังก์ชันมากกว่า 80 ฟังก์ชันที่สามารถใช้งานได้ใน Excel ซึ่งเป็นกลยุทธ์การออกแบบโดยเจตนาโดย Microsoft เพื่อให้แน่ใจว่าผู้ใช้ Excel สามารถทำงานได้อย่างรวดเร็วด้วย DAX
อย่างไรก็ตาม มีหลายฟังก์ชันที่คุณไม่สามารถค้นหาได้ใน Excel เนื่องจากฟังก์ชันดังกล่าวนั้นเจาะจงสำหรับการสร้างแบบจำลองข้อมูล:
- ฟังก์ชันการนำทางความสัมพันธ์
- กรองฟังก์ชันการแก้ไขบริบท
- ฟังก์ชันตัวทำซ้ำ
- ฟังก์ชันตัวแสดงเวลา
- ฟังก์ชัน Path
เคล็ดลับ
หากต้องการค้นหาเอกสารที่เกี่ยวข้องกับฟังก์ชัน DAX ในการค้นหาเว็บ ให้ใส่คำสำคัญ DAX ตามด้วยชื่อฟังก์ชัน
โปรดดูการอ้างอิงฟังก์ชัน DAX สำหรับข้อมูลเพิ่มเติม
ฟังก์ชันที่มีต้นทางจาก Excel
ส่วนต่อไปนี้จะพิจารณาฟังก์ชันที่มีประโยชน์หลายรายการที่คุณอาจคุ้นเคยอยู่แล้ว เนื่องจากมีอยู่ใน Excel
ฟังก์ชัน IF
DAX จะทดสอบว่าเป็นไปตามเงื่อนไขที่ระบุไว้เป็นอาร์กิวเมนต์แรกหรือไม่ ซึ่งจะส่งคืนค่าหนึ่งหากเงื่อนไขเป็น TRUE และส่งคืนค่าอื่นๆ หากเงื่อนไขเป็น FALSE ไวยากรณ์ของฟังก์ชันคือ:
IF(<logical_test>, <value_if_true>[, <value_if_false>])
เคล็ดลับ
อาร์กิวเมนต์ฟังก์ชันเป็นตัวเลือกเมื่อเอกสารแสดงอยู่ในวงเล็บสี่เหลี่ยม
หาก logical_test ประเมินเป็น FALSE และไม่ได้ระบุ value_if_false ฟังก์ชันจะส่งคืน BLANK
ฟังก์ชันการสรุป Excel จํานวนมากจะพร้อมใช้งาน รวมถึง SUM
, COUNT
, MIN
AVERAGE
, MAX
, และอื่น ๆ อีกมากมาย ความแตกต่างเดียวก็คืออยู่ใน DAX คุณส่งผ่านในการอ้างอิงคอลัมน์ ในขณะที่ใน Excel คุณส่งผ่านช่วงของเซลล์
ฟังก์ชันคณิตศาสตร์ ข้อความ วันที่และเวลา ข้อมูล และตรรกะจะพร้อมให้ใช้งานเช่นกัน ตัวอย่างเช่น ตัวอย่างฟังก์ชัน Excel ขนาดเล็กที่พร้อมใช้งานใน DAX ได้แก่ ABS
, ROUND
, SQRT
, RIGHT
LEFT
LEN
DATE
YEAR
UPPER
, MONTH
, NOW
, , ISNUMBER
, , TRUE
, FALSE
, , และIFERROR
AND
OR
NOT
ฟังก์ชันที่ไม่ได้มีต้นทางจาก Excel
ฟังก์ชัน DAX ที่มีประโยชน์สองฟังก์ชันที่ไม่ได้เจาะจงสําหรับการสร้างแบบจําลอง และไม่ได้มีต้นทางจาก Excel คือ DISTINCTCOUNT
และDIVIDE
ฟังก์ชัน DISTINCTCOUNT
คุณสามารถใช้ฟังก์ชัน DISTINCTCOUNT
DAX เพื่อนับจํานวนค่าที่แตกต่างกันในคอลัมน์ได้ ฟังก์ชันนี้มีประสิทธิภาพอย่างยิ่งในโซลูชันการวิเคราะห์ พิจารณาว่าจำนวนนับลูกค้าจะแตกต่างจากจำนวนนับลูกค้าที่ไม่ซ้ำ อย่างหลังนี้จะไม่นับจำนวนลูกค้าซ้ำ ดังนั้นความแตกต่างคือ "ลูกค้ากี่คน" เมื่อเปรียบเทียบกับ "ลูกค้าที่แตกต่างกี่คน"
ฟังก์ชัน DIVIDE
คุณสามารถใช้ฟังก์ชัน DAX เพื่อให้บรรลุการ DIVIDE
หารได้ คุณต้องส่งผ่านนิพจน์ตัวเศษและตัวหาร อีกวิธีหนึ่งคือ คุณสามารถส่งผ่านค่าที่แสดงผลลัพธ์สำรอง
DIVIDE
ไวยากรณ์ของฟังก์ชันคือ:
DIVIDE(<numerator>, <denominator>[, <alternate_result>])
ฟังก์ชันจะ DIVIDE
จัดการกรณีการหารด้วยศูนย์โดยอัตโนมัติ หากผลลัพธ์สำรองไม่ได้ถูกส่งผ่าน และตัวหารเป็นศูนย์หรือ BLANK ฟังก์ชันจะส่งคืนค่า BLANK เมื่อผลลัพธ์สำรองถูกส่งผ่าน จะถูกส่งคืนแทน BLANK
ฟังก์ชันนี้มีความสะดวก เนื่องจากจะช่วยประหยัดนิพจน์ของคุณโดยไม่ให้ต้องทดสอบค่าตัวหารก่อน ฟังก์ชันนี้ยังได้รับการปรับให้เหมาะสมสําหรับการทดสอบค่าตัวหารมากกว่า IF
ฟังก์ชัน การเพิ่มประสิทธิภาพมีความสำคัญ เนื่องจากการตรวจสอบการหารด้วยศูนย์มีราคาแพง ยิ่งไปกว่านั้น DIVIDE
การใช้ฟังก์ชันยังส่งผลให้นิพจน์นั้นกระชับและสละสลวยมากขึ้น
เคล็ดลับ
เราขอแนะนําให้คุณใช้ DIVIDE
ฟังก์ชัน เมื่อใดก็ตามที่ตัวหารเป็นนิพจน์ที่สามารถส่งกลับค่าศูนย์หรือ BLANK ได้ ในกรณีที่ตัวหารเป็นค่าคงที่ เราขอแนะนำให้คุณใช้ตัวดำเนินการหาร (/) ซึ่งจะแนะนำในภายหลังในมอดูลนี้ ในกรณีนี้ การหารจะมีการรับประกันความสำเร็จ และนิพจน์ของคุณจะทำงานได้ดียิ่งขึ้นเนื่องจากจะหลีกเลี่ยงการทดสอบที่ไม่จำเป็น