Thep Excel

LASTDATEวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน

LASTDATE คืนค่าตารางที่มีวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน มักใช้เป็นตารางตัวกรองให้ CALCULATE เพื่อคำนวณ measure ณ วันสุดท้ายของช่วงที่เลือก และสามารถใช้ MAXX เพื่อแปลงผลเป็น scalar date ได้

fx
=LASTDATE(<Dates>)

ความนิยม6/10
ความยาก3/10
ประโยชน์6/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
Dates dates คอลัมน์วันที่ หรือ table expression ที่ให้คอลัมน์วันที่ (ต้องเป็น date table ที่ทำเครื่องหมายถูกต้องในโมเดล)

Additional Notes

LASTDATE คืนค่าตารางวันที่ที่มี “วันที่สุดท้าย” ในบริบทตัวกรองปัจจุบัน โดยทั่วไปใช้เป็น ตารางตัวกรอง ใน CALCULATE เพื่อคำนวณค่าของวันสุดท้ายในช่วงที่เลือก เช่นยอดขายของวันสุดท้ายในเดือน/ไตรมาส/ช่วงวันที่ที่ผู้ใช้เลือก

ที่เจ๋งคือการใช้ LASTDATE ทำให้เราสามารถหาค่าสินค้าคงเหลือ (inventory) หรือยอดคงเหลือบัญชี (balance) ณ เวลาที่ต้องการได้ ซึ่งเป็นมาตรการประเมินผลแบบ semi-additive measure

ส่วนตัวผม LASTDATE กับ FIRSTDATE มักใช้คู่กัน เพื่อวิเคราะห์ว่าเกิดอะไรขึ้นในระหว่างช่วงเวลา 😎

หมายเหตุ: LASTDATE คืนค่าเป็น ตาราง ไม่ใช่ scalar date ดังนั้นถ้าต้องการดึงออกมาเป็นค่าเดี่ยว (วันที่) ให้ใช้ iterator เช่น MAXX เพื่อแปลงเป็น scalar

How it works

ยอดขายของวันสุดท้ายในช่วงที่เลือก

คำนวณ [Total Sales] เฉพาะวันสุดท้ายของช่วง

ดึงวันสุดท้ายเป็นค่าเดี่ยวเพื่อแสดงผล

แปลงจากตารางวันที่ให้เป็น scalar date

ใช้คู่กับ FIRSTDATE เพื่อเปรียบเทียบช่วง

ดึงวันแรก/วันสุดท้ายเพื่อวิเคราะห์ช่วงเวลา

Examples

ตัวอย่างที่ 1: ยอดขายของวันสุดท้ายในช่วงยอดขายวันสุดท้ายของช่วง = CALCULATE( [Total Sales], LASTDATE('Date'[Date]) )

LASTDATE ทำหน้าที่เป็นตารางตัวกรองให้ CALCULATE เลือกเฉพาะวันสุดท้ายในบริบทปัจจุบัน

fx
ยอดขายวันสุดท้ายของช่วง =
CALCULATE(
[Total Sales],
LASTDATE('Date'[Date])
)

ผลลัพธ์ได้ [Total Sales] เฉพาะวันที่สุดท้ายของช่วงที่ถูกกรอง
ตัวอย่างที่ 2: สินค้าคงเหลือ (Inventory) ณ สิ้นเดือนInventory End of Month = CALCULATE( [Inventory Balance], LASTDATE('Date'[Date]) )

เนื่องจาก Inventory Balance เป็น semi-additive measure จึงต้องใช้ LASTDATE เพื่อให้ได้ค่าที่ถูกต้องเท่านั้น

fx
Inventory End of Month =
CALCULATE(
[Inventory Balance],
LASTDATE('Date'[Date])
)

ผลลัพธ์ได้ยอดสินค้าคงเหลือของสิ้นเดือนปัจจุบัน
ตัวอย่างที่ 3: ดึงวันที่สุดท้ายเป็นค่า (scalar) เพื่อแสดงผลวันที่สุดท้ายของช่วง (ค่า) = MAXX( LASTDATE('Date'[Date]), 'Date'[Date] )

MAXX วนบนตาราง 1 แถวที่ LASTDATE คืนมา แล้วคืนค่า 'Date'[Date] ออกมาเป็น scalar

fx
=วันที่สุดท้ายของช่วง (ค่า) =
MAXX(
LASTDATE('Date'[Date]),
'Date'[Date]
)

ผลลัพธ์ได้วันที่สุดท้ายของช่วงเป็นค่าเดี่ยว (date/datetime)
ตัวอย่างที่ 4: เปรียบเทียบยอดขายวันแรกกับวันสุดท้ายเปลี่ยนแปลงยอดขาย (วันแรกถึงวันสุดท้าย) = VAR FirstDaySales = CALCULATE([Total Sales], FIRSTDATE('Date'[Date])) VAR LastDaySales = CALCULATE([Total Sales], LAST…

ใช้ VAR เพื่อเก็บค่าทั้งสองวัน แล้วนำมาเปรียบเทียบเพื่อดูการเปลี่ยนแปลง

fx
=เปลี่ยนแปลงยอดขาย (วันแรกถึงวันสุดท้าย) =
VAR FirstDaySales = CALCULATE([Total Sales], FIRSTDATE('Date'[Date]))
VAR LastDaySales = CALCULATE([Total Sales], LASTDATE('Date'[Date]))
RETURN
LastDaySales – FirstDaySales

ผลลัพธ์ได้ผลต่างของยอดขายระหว่างวันสุดท้ายและวันแรก

FAQs

LASTDATE คืนค่าเป็นอะไร (ตารางหรือค่าเดี่ยว)?+

LASTDATE คืนค่าเป็นตารางวันที่ (table) ดังนั้นถ้าต้องการค่าเดี่ยวให้ใช้ iterator เช่น MAXX หรือ MAX (ตามสิ่งที่ต้องการ)

LASTDATE กับ LASTNONBLANK ต่างกันอย่างไร?+

LASTDATE หาวันที่สุดท้าย ส่วน LASTNONBLANK หาวันที่สุดท้ายที่มีค่าไม่เป็น blank ของ expression ที่กำหนด ใช้ LASTNONBLANK เมื่อต้องการค่าที่มีข้อมูล

ควรใช้ MAX('Date'[Date]) แทนได้ไหม?+

ในหลายกรณี MAX จะให้ผลเป็น scalar และใช้ง่ายกว่า แต่ LASTDATE มีประโยชน์เมื่อคุณต้องการ "ตารางตัวกรอง" เพื่อใช้กับ CALCULATE หรือทำงานตามรูปแบบของ time intelligence

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ LASTDATE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้LASTDATETime Intelligence
Time Intelligence (14)
CLOSINGBALANCEMONTH

CLOSINGBALANCEMONTH ประเมิน Expression ณ วันสิ้นเดือนของบริบทวันที่ปัจจุบัน เหมาะกับการทำมาตรวัดยอดคงเหลือปลายเดือน และรองรับการใส่ตัวกรองเพิ่มเติม

DATESBETWEEN

DATESBETWEEN คืนตารางวันที่ที่อยู่ระหว่าง StartDate และ EndDate (รวมวันเริ่ม/วันจบ) เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณตามช่วงวันที่ที่กำหนดเอง

DATESMTD

DATESMTD คืนตารางวันที่ของช่วงตั้งแต่ต้นเดือนถึงวันที่ล่าสุดใน filter context เหมาะกับการทำยอดสะสมตั้งแต่ต้นเดือน (MTD) โดยใช้ร่วมกับ CALCULATE และควรใช้คู่กับ ShowValueForDates pattern เพื่อไม่ให้แสดงค่าในวันที่ยังไม่มีข้อมูล

ENDOFMONTH

ENDOFMONTH คืนตารางวันที่ของวันสิ้นเดือนตามปฏิทิน เหมาะกับ Semi-Additive Calculations เช่น ยอดคงเหลือ, Inventory, หรือ Closing Balance ที่ต้องการ snapshot ณ สิ้นเดือน ไม่ว่าจะมีข้อมูลจริงในวันนั้นหรือไม่

FIRSTDATE

FIRSTDATE คืนค่าวันที่แรกในบริบทตัวกรองปัจจุบัน เหมาะใช้เป็นตัวกรองให้ CALCULATE เพื่อหายอดขาย/จำนวนของวันแรกในช่วงที่เลือก

FIRSTNONBLANK

FIRSTNONBLANK คืนค่าตัวแรกของ Column ที่ทำให้ Expression ไม่เป็น BLANK ใช้บ่อยเพื่อหา "ค่าแรกที่มีข้อมูล" เช่นวันแรกที่มียอดขาย (คืนค่าเป็นวันที่) และมักใช้ร่วมกับ time intelligence

FIRSTNONBLANKVALUE

FIRSTNONBLANKVALUE คืนค่าแรกที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ซึ่งมีประโยชน์ในการหาค่าเริ่มต้นหรือค่าแรกที่มีข้อมูลจริง เช่นยอดขายของวันแรกที่มีการขาย

LASTNONBLANK

LASTNONBLANK คืนค่าตัวสุดท้ายจากคอลัมน์ที่ทำให้ expression ไม่เป็น BLANK ใช้บ่อยกับ semi-additive measures และเวลาต้องการหา "วันล่าสุดที่มีข้อมูล" ตามลำดับแถวของคอลัมน์

LASTNONBLANKVALUE

LASTNONBLANKVALUE คืนค่าสุดท้ายที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ในบริบทตัวกรองปัจจุบัน ใช้หา "ค่าล่าสุดที่มีข้อมูล" เช่นยอดขายของวันล่าสุดที่มีค่า

OPENINGBALANCEMONTH

OPENINGBALANCEMONTH ประเมิน Expression ณ จุดเปิดเดือน (วันสิ้นเดือนก่อนหน้า) เหมาะสำหรับหา opening balance ของยอดคงเหลือ สต็อก หรือสถิติ ณ จุดเริ่มเดือน

OPENINGBALANCEWEEK

OPENINGBALANCEWEEK ประเมิน Expression ณ จุดเปิดสัปดาห์ (คือวันสิ้นสัปดาห์ก่อนหน้า) ใช้เพื่อเปรียบเทียบค่าเปลี่ยนแปลงระหว่างเปิดและปิดสัปดาห์

OPENINGBALANCEYEAR

OPENINGBALANCEYEAR คำนวณค่า Expression ณ วันแรกของปี โดยดึงค่าจากวันสิ้นปีปีก่อนหน้า เหมาะสำหรับการหา opening balance ของคงเหลือ บัญชี สต็อก และค่าที่วัดได้แค่ที่จุดเวลาเดียว

STARTOFMONTH

STARTOFMONTH คืนวันแรกของเดือนเป็นตาราง 1 แถว ใช้กับการวัดที่ขึ้นต่อจุดเวลา เช่น ยอดคงเหลือ บัญชี หรือสินค้าคงคลัง

STARTOFYEAR

STARTOFYEAR คืนตาราง 1 แถวที่มีวันที่วันแรกของปีในบริบทปัจจุบัน ใช้สำหรับ semi-additive measure เช่น inventory balance หรือเปรียบเทียบ year-to-date

Filter (1)
CALCULATE

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

อีเมลของคุณจะไม่ถูกเผยแพร่