CLOSINGBALANCEMONTH ประเมิน Expression ณ วันสิ้นเดือนของบริบทวันที่ปัจจุบัน เหมาะกับการทำมาตรวัดยอดคงเหลือปลายเดือน และรองรับการใส่ตัวกรองเพิ่มเติม
Syntax
CLOSINGBALANCEMONTH(<Expression>, <Dates>[, <Filter>])
CLOSINGBALANCEMONTH ประเมิน Expression ณ วันสิ้นเดือนของบริบทวันที่ปัจจุบัน เหมาะกับการทำมาตรวัดยอดคงเหลือปลายเดือน และรองรับการใส่ตัวกรองเพิ่มเติม
CLOSINGBALANCEMONTH(<Expression>, <Dates>[, <Filter>])
CLOSINGBALANCEQUARTER ประเมิน Expression ณ วันสิ้นไตรมาสของบริบทวันที่ปัจจุบัน เหมาะกับมาตรวัดยอดคงเหลือปลายไตรมาส และรองรับตัวกรองเพิ่มเติม
CLOSINGBALANCEQUARTER(<Expression>, <Dates>[, <Filter>])
CLOSINGBALANCEWEEK ประเมินนิพจน์ (มาตรวัด) ที่วันสิ้นสัปดาห์ของบริบทวันที่ปัจจุบัน สำคัญสำหรับรายงานปิดสัปดาห์และ snapshot ยอดคงเหลือ
CLOSINGBALANCEWEEK(<Expression>, <Calendar>[, <Filter>])
ฟังก์ชันเวลา Intelligence ที่ประเมิน Expression ณ วันสิ้นปีของปีในบริบทปัจจุบัน รองรับปีบัญชี (Fiscal Year) และตัวกรองเพิ่มเติม เหมาะสำหรับมาตรวัด Semi-additive เช่น ยอดคงเหลือ ยอดเงินสด
CLOSINGBALANCEYEAR(<Expression>, <Dates>[, <Filter>][, <YearEndDate>])
DATEADD คืนค่าตารางวันที่ ที่ถูกเลื่อนออกไปจากช่วงวันที่ใน Context ปัจจุบัน ตามจำนวน (NumberOfIntervals) และหน่วย (Interval) ที่กำหนด เช่น เลื่อนย้อนหลัง 1 เดือน หรือเลื่อนไปข้างหน้า 1 ปี
DATEADD(Dates, NumberOfIntervals, Interval)
DATESBETWEEN คืนตารางวันที่ที่อยู่ระหว่าง StartDate และ EndDate (รวมวันเริ่ม/วันจบ) เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณตามช่วงวันที่ที่กำหนดเอง
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
DATESINPERIOD คืนตารางวันที่แบบเคลื่อนที่ โดยเริ่มจาก StartDate และขยายไปตามจำนวนช่วงและหน่วยที่กำหนด เหมาะกับการทำคำนวณแบบ rolling YTD, rolling average, ย้อนหลัง หรือล่วงหน้าแบบยืดหยุ่น
DATESINPERIOD(<Dates>, <StartDate>, <NumberOfIntervals>, <Interval>[, <EndBehavior>])
DATESMTD คืนตารางวันที่ของช่วงตั้งแต่ต้นเดือนถึงวันที่ล่าสุดใน filter context เหมาะกับการทำยอดสะสมตั้งแต่ต้นเดือน (MTD) โดยใช้ร่วมกับ CALCULATE และควรใช้คู่กับ ShowValueForDates pattern เพื่อไม่ให้แสดงค่าในวันที่ยังไม่มีข้อมูล
DATESMTD(<Dates>)
DATESQTD คืนตารางวันที่ของช่วงตั้งแต่ต้นไตรมาสถึงวันที่ล่าสุดในบริบทปัจจุบัน เหมาะสำหรับสร้างมาตรวัด QTD ใน CALCULATE โดยทำงานร่วมกับ Time Intelligence Functions ตัวอื่นๆ ได้ดี และควรใช้คู่กับ ShowValueForDates pattern เพื่อป้องกันการแสดงค่าในอนาคต
DATESQTD(<Dates>)
DATESWTD คืนตารางวันที่ตั้งแต่ต้นสัปดาห์จนถึงวันที่ในบริบทปัจจุบัน ใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณยอดสะสมตั้งแต่ต้นสัปดาห์
DATESWTD(<calendar>)
DATESYTD คืนตารางวันที่ของช่วงตั้งแต่ต้นปีถึงวันที่สุดท้ายที่มองเห็นใน Filter Context ใช้เป็นตัวกรองเวลาใน CALCULATE สำหรับการคำนวณยอดสะสมตั้งแต่ต้นปี รองรับทั้งปีปฏิทินและปีบัญชี (Fiscal Year) ด้วย YearEndDate argument
DATESYTD(<Dates>[, <YearEndDate>])
ENDOFMONTH คืนตารางวันที่ของวันสิ้นเดือนตามปฏิทิน เหมาะกับ Semi-Additive Calculations เช่น ยอดคงเหลือ, Inventory, หรือ Closing Balance ที่ต้องการ snapshot ณ สิ้นเดือน ไม่ว่าจะมีข้อมูลจริงในวันนั้นหรือไม่
ENDOFMONTH(<Dates>)
ENDOFQUARTER คืนตารางวันที่ของวันสิ้นไตรมาสตามบริบทวันที่ปัจจุบัน เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อประเมินมาตรวัด ณ วันสิ้นไตรมาส
ENDOFQUARTER(<Dates>)
ฟังก์ชัน ENDOFWEEK คืนตารางวันที่ที่แสดงวันสิ้นสุดของสัปดาห์ตามบริบทวันที่ปัจจุบัน ใช้สำหรับการวิเคราะห์ข้อมูลตามระดับสัปดาห์ และการเปรียบเทียบเมตริกส์ณวันปิดสัปดาห์
ENDOFWEEK(<Calendar>)
ENDOFYEAR คืนตารางวันที่ของวันสิ้นปีตามบริบทวันที่ปัจจุบัน และรองรับการกำหนดวันสิ้นปีบัญชี เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อประเมินมาตรวัดที่วันสิ้นปี
ENDOFYEAR(<Dates>[, <YearEndDate>])
FIRSTDATE คืนค่าวันที่แรกในบริบทตัวกรองปัจจุบัน เหมาะใช้เป็นตัวกรองให้ CALCULATE เพื่อหายอดขาย/จำนวนของวันแรกในช่วงที่เลือก
FIRSTDATE(<Dates>)
FIRSTNONBLANK คืนค่าตัวแรกของ Column ที่ทำให้ Expression ไม่เป็น BLANK ใช้บ่อยเพื่อหา "ค่าแรกที่มีข้อมูล" เช่นวันแรกที่มียอดขาย (คืนค่าเป็นวันที่) และมักใช้ร่วมกับ time intelligence
FIRSTNONBLANK(<Column>, <Expression>)
FIRSTNONBLANKVALUE คืนค่าแรกที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ซึ่งมีประโยชน์ในการหาค่าเริ่มต้นหรือค่าแรกที่มีข้อมูลจริง เช่นยอดขายของวันแรกที่มีการขาย
FIRSTNONBLANKVALUE(<Column>, <Expression>)
LASTDATE คืนค่าตารางที่มีวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน มักใช้เป็นตารางตัวกรองให้ CALCULATE เพื่อคำนวณ measure ณ วันสุดท้ายของช่วงที่เลือก และสามารถใช้ MAXX เพื่อแปลงผลเป็น scalar date ได้
LASTDATE(<Dates>)
LASTNONBLANK คืนค่าตัวสุดท้ายจากคอลัมน์ที่ทำให้ expression ไม่เป็น BLANK ใช้บ่อยกับ semi-additive measures และเวลาต้องการหา "วันล่าสุดที่มีข้อมูล" ตามลำดับแถวของคอลัมน์
LASTNONBLANK(<Column>, <Expression>)
LASTNONBLANKVALUE คืนค่าสุดท้ายที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ในบริบทตัวกรองปัจจุบัน ใช้หา "ค่าล่าสุดที่มีข้อมูล" เช่นยอดขายของวันล่าสุดที่มีค่า
LASTNONBLANKVALUE(<Column>, <Expression>)
NEXTDAY คืนตารางวันที่ของวันถัดไปจากวันที่ในบริบทปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “วันถัดไป” ตามช่วงวันที่ที่ถูกกรอง
NEXTDAY(<Dates>)
NEXTMONTH คืนตารางวันที่ของเดือนถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “เดือนถัดไป” ตามช่วงวันที่ที่ถูกเลือก/กรอง
NEXTMONTH(<Dates>)
NEXTQUARTER คืนตารางวันที่ของไตรมาสถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “ไตรมาสถัดไป”
NEXTQUARTER(<Dates>)
NEXTWEEK คืนตารางวันที่ของสัปดาห์ถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ "สัปดาห์ถัดไป"
NEXTWEEK(<Dates>)
NEXTYEAR คืนตารางวันที่ของปีถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “ปีถัดไป”
NEXTYEAR(<Dates>)
OPENINGBALANCEMONTH ประเมิน Expression ณ จุดเปิดเดือน (วันสิ้นเดือนก่อนหน้า) เหมาะสำหรับหา opening balance ของยอดคงเหลือ สต็อก หรือสถิติ ณ จุดเริ่มเดือน
OPENINGBALANCEMONTH(<Expression>, <Dates>)
OPENINGBALANCEQUARTER ประเมิน Expression ณ วันที่เทียบเท่ากับวันสิ้นไตรมาสก่อนหน้า ภายใต้บริบทตัวกรองที่กำหนด ใช้เพื่อหา “ค่าเปิดงวดรายไตรมาส”
OPENINGBALANCEQUARTER(<Expression>, <Dates>)
OPENINGBALANCEWEEK ประเมิน Expression ณ จุดเปิดสัปดาห์ (คือวันสิ้นสัปดาห์ก่อนหน้า) ใช้เพื่อเปรียบเทียบค่าเปลี่ยนแปลงระหว่างเปิดและปิดสัปดาห์
OPENINGBALANCEWEEK(<Expression>, <Dates>, [<Filter>])
OPENINGBALANCEYEAR คำนวณค่า Expression ณ วันแรกของปี โดยดึงค่าจากวันสิ้นปีปีก่อนหน้า เหมาะสำหรับการหา opening balance ของคงเหลือ บัญชี สต็อก และค่าที่วัดได้แค่ที่จุดเวลาเดียว
OPENINGBALANCEYEAR(<Expression>, <Dates>)
PARALLELPERIOD คืนตารางวันที่ที่ขนานกับช่วงเวลาปัจจุบัน แต่เลื่อนไปข้างหน้าหรือย้อนหลัง และขยายขอบเขตให้ครอบคลุมทั้งหน่วยเวลาที่ระบุ (MONTH/QUARTER/YEAR) เสมอ เหมาะกับการเทียบยอดรวมทั้งเดือน/ไตรมาส/ปี
PARALLELPERIOD(<Dates>, <NumberOfIntervals>, <Interval>)
PREVIOUSDAY คืนตารางวันที่ของวันก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับทำตัวชี้วัดแบบเทียบวันต่อวัน โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
PREVIOUSDAY(<dates>)
PREVIOUSMONTH คืนตารางวันที่ทั้งหมดของเดือนก่อนหน้า โดยอ้างอิงจากวันแรกของบริบทปัจจุบัน เหมาะกับการทำ Measure เปรียบเทียบ Month-over-Month เช่น ยอดขายเดือนก่อนหน้า ข้อแตกต่างสำคัญกับ DATEADD คือ PREVIOUSMONTH คืนทั้งเดือนเสมอ ไม่ว่าจะเลือกวันไหนก็ตาม
PREVIOUSMONTH(<dates>)
PREVIOUSQUARTER คืนตารางวันที่ของไตรมาสก่อนหน้า ตามวันที่แรกในบริบทปัจจุบัน ใช้สำหรับสร้าง Measure เปรียบเทียบ Quarter-over-Quarter (QoQ) โดยคืนวันที่ครบทั้งไตรมาสเสมอ ไม่ว่าจะเลือกวันที่ใดก็ตาม ภายในใช้ PARALLELPERIOD(FIRSTDATE(dates), -1, QUARTER)
PREVIOUSQUARTER(<dates>)
PREVIOUSWEEK คืนตารางวันที่ของสัปดาห์ก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Week-over-Week โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
PREVIOUSWEEK(<dates>)
PREVIOUSYEAR คืนตารางวันที่ของปีก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Year-over-Year โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
PREVIOUSYEAR(<dates>)
SAMEPERIODLASTYEAR คืน table ของวันที่ที่เลื่อนย้อนกลับไป 1 ปีจากช่วงวันที่ใน filter context ปัจจุบัน ใช้สำหรับการเปรียบเทียบ Year-over-Year (YoY) โดยต้องการ date table ที่ครบถ้วนต่อเนื่องและควร mark เป็น date table ในโมเดล.มักใช้ร่วมกับ CALCULATE เพื่อคำนวณค่าของปีก่อนหน้าในช่วงเดียวกัน ทำให้ได้ผลลัพธ์แบบ apples-to-apples comparison ที่แม่นยำโดยไม่ต้อง hard-code ช่วงวันที่ เหมาะสำหรับ measures และ calculated columns แต่ไม่รองรับ DirectQuery mode และไม่แนะนำสำหรับ visual calculations
SAMEPERIODLASTYEAR(<dates>)
STARTOFMONTH คืนวันแรกของเดือนเป็นตาราง 1 แถว ใช้กับการวัดที่ขึ้นต่อจุดเวลา เช่น ยอดคงเหลือ บัญชี หรือสินค้าคงคลัง
STARTOFMONTH(<Dates>)
STARTOFQUARTER คืนตารางวันที่ที่มีวันแรกของไตรมาสในบริบทตัวกรองปัจจุบัน (single-row table) ใช้เป็นตารางตัวกรองใน CALCULATE หรือใช้ MINX เพื่อแปลงเป็น scalar date
STARTOFQUARTER(<Dates>)
STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table
STARTOFWEEK(<calendar>)
STARTOFYEAR คืนตาราง 1 แถวที่มีวันที่วันแรกของปีในบริบทปัจจุบัน ใช้สำหรับ semi-additive measure เช่น inventory balance หรือเปรียบเทียบ year-to-date
STARTOFYEAR(<Dates> [, <YearEndDate>])
คำนวณยอดสะสมตั้งแต่ต้นเดือน (Month-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด เป็นทางลัดของ CALCULATE + DATESMTD
TOTALMTD(<Expression>, <Dates> [, <Filter>])
TOTALQTD คำนวณยอดสะสมตั้งแต่วันแรกของไตรมาส (Q1/Q2/Q3/Q4) จนถึงวันที่ล่าสุดใน filter context ปัจจุบัน.ส่วนตัวผมใช้บ่อยมากตอน analyze quarterly performance และการวิเคราะห์ KPI รายไตรมาสครับ
TOTALQTD(<Expression>, <Dates> [, <Filter>])
คำนวณยอดสะสมตั้งแต่ต้นสัปดาห์ (Week-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด โดยรวมข้อมูลจากวันแรกของสัปดาห์จนถึงวันปัจจุบันในบริบท
TOTALWTD(<expression>, <calendar> [, <filter>])
TOTALYTD คำนวณยอดสะสมตั้งแต่ต้นปี (Year-to-Date) ของ expression ใดๆ โดยอิงจาก Date table และสามารถกำหนด fiscal year end date เพื่อรองรับปีงบประมาณที่ไม่ตรงกับปีปฏิทินได้.ส่วนตัวผมใช้บ่อยมากตอนต้องวิเคราะห์ยอดขาย KPI และรายงานทางการเงินที่ต้องการติดตามความก้าวหน้าตลอดทั้งปีครับ
TOTALYTD(<Expression>, <Dates> [, <Filter>] [, <YearEndDate>])