PREVIOUSYEAR คืนตารางวันที่ของปีก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Year-over-Year โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| dates | column | คอลัมน์วันที่ (Date) ที่มาจากตารางวันที่/ปฏิทิน |
PREVIOUSYEAR คืน “ตารางของวันที่” สำหรับปีก่อนหน้า โดยอ้างอิงจากบริบทวันที่ที่กำลังถูกเลือกอยู่ เหมาะกับการทำรายงานเทียบปีต่อปี (Year-over-Year) เช่น ยอดขายปีก่อนหน้า
ทำตัวชี้วัดเทียบปีต่อปี เช่น ยอดขายปีก่อนหน้า
ใช้เทียบ KPI ระดับปี เช่น ลูกค้าหรือออเดอร์
PREVIOUSYEAR คืนชุดวันที่ของปีก่อนหน้า แล้วนำไปเป็นตัวกรองเวลาใน CALCULATE
เหมาะกับการทำรายงานเทียบปีต่อปี โดยปล่อยให้ฟังก์ชันจัดการช่วงวันที่ให้
ฟังก์ชันนี้คืนค่าเป็นตาราง จึงใช้เป็นตัวกรองเวลา หรือสร้างตารางคำนวณเพื่อดูช่วงวันที่ของปีก่อนหน้า
PREVIOUSYEAR ใช้ตารางวันที่และบริบทเวลาเพื่อกำหนดช่วงวันที่ของปีก่อนหน้าให้เหมาะสม ลดความเสี่ยงจากการเขียนเงื่อนไขวันที่ผิดช่วง
ไม่จำเป็นต้องมีข้อมูลธุรกรรมทุกวัน แต่ควรมีตารางวันที่ที่ต่อเนื่องเพื่อให้การเลือกช่วงปี/ปีก่อนหน้าทำงานได้ถูกต้อง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ PREVIOUSYEAR จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ฟังก์ชันเวลา Intelligence ที่ประเมิน Expression ณ วันสิ้นปีของปีในบริบทปัจจุบัน รองรับปีบัญชี (Fiscal Year) และตัวกรองเพิ่มเติม เหมาะสำหรับมาตรวัด Semi-additive เช่น ยอดคงเหลือ ยอดเงินสด
DATEADD คืนค่าตารางวันที่ ที่ถูกเลื่อนออกไปจากช่วงวันที่ใน Context ปัจจุบัน ตามจำนวน (NumberOfIntervals) และหน่วย (Interval) ที่กำหนด เช่น เลื่อนย้อนหลัง 1 เดือน หรือเลื่อนไปข้างหน้า 1 ปี
DATESYTD คืนตารางวันที่ของช่วงตั้งแต่ต้นปีถึงวันที่สุดท้ายที่มองเห็นใน Filter Context ใช้เป็นตัวกรองเวลาใน CALCULATE สำหรับการคำนวณยอดสะสมตั้งแต่ต้นปี รองรับทั้งปีปฏิทินและปีบัญชี (Fiscal Year) ด้วย YearEndDate argument
ENDOFYEAR คืนตารางวันที่ของวันสิ้นปีตามบริบทวันที่ปัจจุบัน และรองรับการกำหนดวันสิ้นปีบัญชี เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อประเมินมาตรวัดที่วันสิ้นปี
NEXTYEAR คืนตารางวันที่ของปีถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “ปีถัดไป”
OPENINGBALANCEYEAR คำนวณค่า Expression ณ วันแรกของปี โดยดึงค่าจากวันสิ้นปีปีก่อนหน้า เหมาะสำหรับการหา opening balance ของคงเหลือ บัญชี สต็อก และค่าที่วัดได้แค่ที่จุดเวลาเดียว
PARALLELPERIOD คืนตารางวันที่ที่ขนานกับช่วงเวลาปัจจุบัน แต่เลื่อนไปข้างหน้าหรือย้อนหลัง และขยายขอบเขตให้ครอบคลุมทั้งหน่วยเวลาที่ระบุ (MONTH/QUARTER/YEAR) เสมอ เหมาะกับการเทียบยอดรวมทั้งเดือน/ไตรมาส/ปี
PREVIOUSDAY คืนตารางวันที่ของวันก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับทำตัวชี้วัดแบบเทียบวันต่อวัน โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
PREVIOUSMONTH คืนตารางวันที่ทั้งหมดของเดือนก่อนหน้า โดยอ้างอิงจากวันแรกของบริบทปัจจุบัน เหมาะกับการทำ Measure เปรียบเทียบ Month-over-Month เช่น ยอดขายเดือนก่อนหน้า ข้อแตกต่างสำคัญกับ DATEADD คือ PREVIOUSMONTH คืนทั้งเดือนเสมอ ไม่ว่าจะเลือกวันไหนก็ตาม
PREVIOUSQUARTER คืนตารางวันที่ของไตรมาสก่อนหน้า ตามวันที่แรกในบริบทปัจจุบัน ใช้สำหรับสร้าง Measure เปรียบเทียบ Quarter-over-Quarter (QoQ) โดยคืนวันที่ครบทั้งไตรมาสเสมอ ไม่ว่าจะเลือกวันที่ใดก็ตาม ภายในใช้ PARALLELPERIOD(FIRSTDATE(dates), -1, QUARTER)
PREVIOUSWEEK คืนตารางวันที่ของสัปดาห์ก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Week-over-Week โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
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
TOTALYTD คำนวณยอดสะสมตั้งแต่ต้นปี (Year-to-Date) ของ expression ใดๆ โดยอิงจาก Date table และสามารถกำหนด fiscal year end date เพื่อรองรับปีงบประมาณที่ไม่ตรงกับปีปฏิทินได้
.
ส่วนตัวผมใช้บ่อยมากตอนต้องวิเคราะห์ยอดขาย KPI และรายงานทางการเงินที่ต้องการติดตามความก้าวหน้าตลอดทั้งปีครับ
CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่