Data Analysis Expressions (DAX) มี 35 ฟังก์ชันสําหรับการรวมและการเปรียบเทียบข้อมูลเมื่อเวลาผ่านไป ฟังก์ชันตัวแสดงเวลาต่างจากฟังก์ชันวันที่และเวลาของ DAX แต่ฟังก์ชันตัวแสดงเวลาไม่มีสิ่งที่คล้ายกันใน Excel ทั้งนี้เนื่องจากฟังก์ชันตัวแสดงเวลาทํางานกับข้อมูลที่มีการเปลี่ยนแปลงอยู่ตลอดเวลา ทั้งนี้ขึ้นอยู่กับบริบทที่คุณเลือกใน PivotTable และการแสดงภาพของ Power View
เมื่อต้องการทํางานกับฟังก์ชันตัวแสดงเวลา คุณจําเป็นต้องมีตารางวันที่รวมอยู่ในตัวแบบข้อมูลของคุณ ตารางวันที่ต้องมีคอลัมน์หนึ่งแถวสําหรับทุกวันของแต่ละปีที่รวมอยู่ในข้อมูลของคุณ คอลัมน์นี้ถือว่าเป็นคอลัมน์วันที่ (แม้ว่าจะสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ) ฟังก์ชันตัวแสดงเวลาจํานวนมากต้องการคอลัมน์วันที่เพื่อคํานวณตามวันที่ที่คุณเลือกเป็นเขตข้อมูลในรายงาน ตัวอย่างเช่น ถ้าคุณมีหน่วยวัดที่คํานวณยอดดุลสิ้นไตรมาส-สิ้นสุดโดยใช้ฟังก์ชัน CLOSINGBALANCEQTR เพื่อให้ Power Pivot ทราบเมื่อสิ้นไตรมาสจริงๆ จะต้องอ้างอิงคอลัมน์วันที่ในตารางวันที่เพื่อให้ทราบว่าไตรมาสเริ่มต้นและสิ้นสุดเมื่อใด เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตารางวันที่ ให้ดูที่ ทําความเข้าใจและสร้างตารางวันที่ใน Power Pivot ใน Excel
ฟังก์ชัน
ฟังก์ชันที่ส่งกลับวันที่เดียว
ฟังก์ชันในประเภทนี้ส่งกลับวันที่เดียว ผลลัพธ์สามารถใช้เป็นอาร์กิวเมนต์ของฟังก์ชันอื่นได้
ฟังก์ชันสองฟังก์ชันแรกในประเภทนี้จะส่งกลับวันที่แรกหรือวันสุดท้ายใน Date_Column ในบริบทปัจจุบัน การทําเช่นนี้อาจเป็นประโยชน์เมื่อคุณต้องการค้นหาวันที่แรกหรือวันสุดท้ายที่คุณมีธุรกรรมชนิดใดชนิดหนึ่ง ฟังก์ชันเหล่านี้ใช้อาร์กิวเมนต์เพียงอาร์กิวเมนต์เดียว ซึ่งเป็นชื่อของคอลัมน์วันที่ในตารางวันที่ของคุณ
-
วันที่หนึ่ง (Date_Column)
-
LASTDATE (Date_Column)
ฟังก์ชันสองฟังก์ชันถัดไปในประเภทนี้จะค้นหาวันที่แรกหรือวันสุดท้าย (หรือค่าคอลัมน์อื่นๆ ด้วย) ที่นิพจน์มีค่าที่ไม่ใช่ค่าว่าง ซึ่งมักจะใช้ในสถานการณ์ เช่น สินค้าคงคลัง ที่คุณต้องการรับจํานวนสินค้าคงคลังล่าสุด และคุณไม่ทราบว่าสินค้าคงคลังล่าสุดถูกนําไปเมื่อใด
-
FIRSTNONBLANK (Date_Column นิพจน์)
-
LASTNONBLANK (Date_Column นิพจน์)
อีกหกฟังก์ชันที่ส่งกลับวันที่เดียวคือฟังก์ชันที่ส่งกลับวันที่แรกหรือวันสุดท้ายของเดือน ไตรมาส หรือปีภายในบริบทปัจจุบันของการคํานวณ
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
ฟังก์ชันที่ส่งกลับตารางวันที่
มีฟังก์ชันตัวแสดงเวลาสิบหกฟังก์ชันที่ส่งกลับตารางวันที่ ส่วนใหญ่แล้ว ฟังก์ชันเหล่านี้จะถูกใช้เป็นอาร์กิวเมนต์ SetFilter กับฟังก์ชัน CALCULATE เช่นเดียวกับฟังก์ชันตัวแสดงเวลาทั้งหมดใน DAX แต่ละฟังก์ชันจะใช้คอลัมน์วันที่เป็นหนึ่งในอาร์กิวเมนต์
ฟังก์ชันแปดฟังก์ชันแรกในประเภทนี้เริ่มต้นด้วยคอลัมน์วันที่ในบริบทปัจจุบัน ตัวอย่างเช่น ถ้าใช้การวัดใน PivotTable อาจมีเดือนหรือปีบนป้ายชื่อคอลัมน์หรือป้ายชื่อแถว ผลสุทธิคือคอลัมน์วันที่จะถูกกรองเพื่อรวมเฉพาะวันที่สําหรับบริบทปัจจุบัน เริ่มต้นจากบริบทปัจจุบันนั้น ฟังก์ชันแปดฟังก์ชันเหล่านี้จะคํานวณวัน เดือน ไตรมาส หรือปีก่อนหน้า แล้วส่งกลับวันที่เหล่านั้นในรูปแบบของตารางคอลัมน์เดียว ฟังก์ชัน "ก่อนหน้า" ทํางานย้อนหลังจากวันที่แรกในบริบทปัจจุบัน และฟังก์ชัน "ถัดไป" จะย้ายไปข้างหน้าจากวันที่สุดท้ายในบริบทปัจจุบัน
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
ถัดไป ( Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
ฟังก์ชันสี่ฟังก์ชันถัดไปในประเภทนี้จะคล้ายกัน แต่แทนที่จะคํานวณรอบระยะเวลาก่อนหน้า (หรือถัดไป) ฟังก์ชันจะคํานวณชุดของวันที่ในรอบระยะเวลาที่เป็น "เดือนถึงวันที่" (หรือไตรมาสปัจจุบัน หรือตั้งแต่ต้นปีจนถึงปัจจุบัน หรือในช่วงเวลาเดียวกันของปีก่อนหน้า) ฟังก์ชันเหล่านี้ทั้งหมดทําการคํานวณโดยใช้วันที่ล่าสุดในบริบทปัจจุบัน โปรดทราบว่า SAMEPERIODLASTYEAR ต้องการให้บริบทปัจจุบันมีชุดของวันที่ที่ติดกัน ถ้าบริบทปัจจุบันไม่ใช่ชุดของวันที่ที่ติดกัน ฟังก์ชัน SAMEPERIODLASTYEAR จะส่งกลับข้อผิดพลาด
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
สี่ฟังก์ชันสุดท้ายในหมวดหมู่นี้มีความซับซ้อนมากขึ้นเล็กน้อยและมีประสิทธิภาพมากกว่าเล็กน้อย ฟังก์ชันเหล่านี้จะใช้เพื่อเลื่อนจากชุดของวันที่ที่อยู่ในบริบทปัจจุบันไปเป็นชุดวันที่ใหม่
-
DATEADD (Date_Column, Number_of_Intervals, ช่วงเวลา)
-
DATESBETWEEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, ช่วงเวลา)
DATESBETWEEN จะคํานวณชุดของวันที่ระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดที่ระบุ ฟังก์ชันสามฟังก์ชันที่เหลือจะเลื่อนช่วงเวลาจํานวนหนึ่งจากบริบทปัจจุบัน ช่วงเวลาอาจเป็นวัน เดือน ไตรมาส หรือปี ฟังก์ชันเหล่านี้ทําให้ง่ายต่อการเลื่อนช่วงเวลาสําหรับการคํานวณตามข้อมูลต่อไปนี้
-
ย้อนกลับไปสองปี
-
ย้อนกลับหนึ่งเดือน
-
ไปข้างหน้าสามไตรมาส
-
ย้อนกลับไป 14 วัน
-
ไปข้างหน้า 28 วัน
ในแต่ละกรณี คุณจําเป็นต้องระบุเฉพาะช่วงเวลาและจํานวนของช่วงเวลาเหล่านั้นที่จะเลื่อน ช่วงเวลาที่เป็นบวกจะเคลื่อนไปข้างหน้าในเวลา ขณะที่ช่วงเวลาที่เป็นค่าลบจะย้ายกลับไปยังเวลา ช่วงจะระบุโดยคําสําคัญ DAY, MONTH, QUARTER หรือ YEAR คําสําคัญเหล่านี้ไม่ใช่สตริง ดังนั้นคําสําคัญเหล่านี้จึงไม่ควรอยู่ในเครื่องหมายอัญระบุ
ฟังก์ชันที่ประเมินนิพจน์ในช่วงเวลาหนึ่ง
ฟังก์ชันประเภทนี้ประเมินนิพจน์ตามช่วงเวลาที่ระบุ คุณสามารถทําสิ่งเดียวกันได้โดยใช้ฟังก์ชัน CALCULATE และตัวแสดงเวลาอื่นๆ ตัวอย่างเช่น
= TOTALMTD (นิพจน์, Date_Column [, SetFilter])
จะตรงกับ:
= CALCULATE (นิพจน์, DATESMTD (Date_Column)[, SetFilter])
อย่างไรก็ตาม การใช้ฟังก์ชันตัวแสดงเวลาเหล่านี้จะง่ายขึ้นเมื่อเหมาะสมกับปัญหาที่จําเป็นต้องแก้ไข:
-
TOTALMTD (นิพจน์, Date_Column [, SetFilter])
-
TOTALQTD (นิพจน์, Date_Column [, SetFilter])
-
TOTALYTD (นิพจน์, Date_Column [, SetFilter] [,YE_Date]) *
นอกจากนี้ ในประเภทนี้ยังเป็นกลุ่มฟังก์ชันที่คํานวณยอดดุลเปิดและปิดด้วย มีแนวคิดบางอย่างที่คุณควรทําความเข้าใจกับฟังก์ชันเฉพาะเหล่านี้ อันดับแรก อย่างที่คุณอาจคิดไว้อย่างชัดเจน ยอดยกมาสําหรับรอบระยะเวลาใดๆ จะเหมือนกับดุลปิดสําหรับรอบระยะเวลาก่อนหน้า ดุลปิดรวมข้อมูลทั้งหมดจนถึงสิ้นงวด ขณะที่ยอดดุลยกมาไม่มีข้อมูลใดๆ จากภายในรอบระยะเวลาปัจจุบัน
ฟังก์ชันเหล่านี้จะส่งกลับค่าของนิพจน์ที่ประเมินสําหรับจุดเวลาที่ระบุเสมอ ช่วงเวลาที่เราให้ความสําคัญคือค่าวันที่ล่าสุดที่เป็นไปได้ในระยะเวลาปฏิทิน ยอดดุลยกมาจะขึ้นอยู่กับวันที่สุดท้ายของรอบระยะเวลาก่อนหน้านี้ รอบระยะเวลาปัจจุบันจะถูกกําหนดโดยวันที่ล่าสุดในบริบทวันที่ปัจจุบันเสมอ
-
OPENINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Quarter (นิพจน์ Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (นิพจน์, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (นิพจน์, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Expression, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (นิพจน์, Date_Column [,SetFilter] [,YE_Date])
แหล่งข้อมูลเพิ่มเติม
บทความ: ทําความเข้าใจและสร้างตารางวันที่ใน Power Pivot ใน Excel
การอ้างอิง: การอ้างอิงฟังก์ชัน DAXบน Office.com
ตัวอย่าง: การสร้างตัวแบบและการวิเคราะห์ข้อมูลกําไรขาดทุนด้วย Microsoft PowerPivot ใน Excel