Thep Excel

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

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

=LASTDATE(<Dates>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=LASTDATE(<Dates>)

Argument Type Required Default Description
Dates dates Yes คอลัมน์วันที่ หรือ table expression ที่ให้คอลัมน์วันที่ (ต้องเป็น date table ที่ทำเครื่องหมายถูกต้องในโมเดล)

How it works

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

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

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

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

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

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

Examples

ตัวอย่างที่ 1: ยอดขายของวันสุดท้ายในช่วง
ยอดขายวันสุดท้ายของช่วง = CALCULATE( [Total Sales], LASTDATE('Date'[Date]) )
LASTDATE ทำหน้าที่เป็นตารางตัวกรองให้ CALCULATE เลือกเฉพาะวันสุดท้ายในบริบทปัจจุบัน
DAX Formula:

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

Result:

ได้ [Total Sales] เฉพาะวันที่สุดท้ายของช่วงที่ถูกกรอง

ตัวอย่างที่ 2: สินค้าคงเหลือ (Inventory) ณ สิ้นเดือน
Inventory End of Month = CALCULATE( [Inventory Balance], LASTDATE('Date'[Date]) )
เนื่องจาก Inventory Balance เป็น semi-additive measure จึงต้องใช้ LASTDATE เพื่อให้ได้ค่าที่ถูกต้องเท่านั้น
DAX Formula:

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

Result:

ได้ยอดสินค้าคงเหลือของสิ้นเดือนปัจจุบัน

ตัวอย่างที่ 3: ดึงวันที่สุดท้ายเป็นค่า (scalar) เพื่อแสดงผล
วันที่สุดท้ายของช่วง (ค่า) = MAXX( LASTDATE('Date'[Date]), 'Date'[Date] )
MAXX วนบนตาราง 1 แถวที่ LASTDATE คืนมา แล้วคืนค่า 'Date'[Date] ออกมาเป็น scalar
DAX Formula:

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

Result:

ได้วันที่สุดท้ายของช่วงเป็นค่าเดี่ยว (date/datetime)

ตัวอย่างที่ 4: เปรียบเทียบยอดขายวันแรกกับวันสุดท้าย
เปลี่ยนแปลงยอดขาย (วันแรกถึงวันสุดท้าย) = VAR FirstDaySales = CALCULATE([Total Sales], FIRSTDATE('Date'[Date])) VAR LastDaySales = CALCULATE([Total Sales], LAST…
ใช้ VAR เพื่อเก็บค่าทั้งสองวัน แล้วนำมาเปรียบเทียบเพื่อดูการเปลี่ยนแปลง
DAX Formula:

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

Result:

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

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

Related functions

Additional Notes

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *