Date.EndOfYear คืนค่าวันสุดท้ายของปี (31 ธันวาคม) จากวันที่ที่กำหนด พร้อมเวลา 23:59:59.9999999
=Date.EndOfYear(dateTime as any) as any
=Date.EndOfYear(dateTime as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| dateTime | date | datetime | datetimezone | Yes | วันที่ที่ต้องการหาวันสิ้นปี สามารถเป็น date, datetime หรือ datetimezone ก็ได้ |
Date.EndOfYear(#date(2025, 5, 15))=Date.EndOfYear(#date(2025, 5, 15))
#date(2025, 12, 31)
Date.EndOfYear(#datetime(2025, 5, 15, 14, 30, 0))=Date.EndOfYear(#datetime(2025, 5, 15, 14, 30, 0))
#datetime(2025, 12, 31, 23, 59, 59.9999999)
Date.EndOfYear(#datetimezone(2025, 3, 20, 10, 0, 0, 7, 0))=Date.EndOfYear(#datetimezone(2025, 3, 20, 10, 0, 0, 7, 0))
#datetimezone(2025, 12, 31, 23, 59, 59.9999999, 7, 0)
Date.DayOfYear(Date.EndOfYear(#date(2025, 6, 15))) - Date.DayOfYear(#date(2025, 6, 15))=Date.DayOfYear(Date.EndOfYear(#date(2025, 6, 15))) - Date.DayOfYear(#date(2025, 6, 15))
200
let Source = Table.FromRows({{#date(2025, 1, 15)}, {#date(2025, 6, 20)}, {#date(2025, 12, 1)}}, {"Date"}), AddEndOfYear = Table.AddColumn(Source, "End of Year",…let
Source = Table.FromRows({{#date(2025, 1, 15)}, {#date(2025, 6, 20)}, {#date(2025, 12, 1)}}, {"Date"}),
AddEndOfYear = Table.AddColumn(Source, "End of Year", each Date.EndOfYear([Date]))
in
AddEndOfYear
ตารางใหม่ที่มีคอลัมน์เพิ่มขึ้นแสดง 31 ธันวาคม สำหรับทุกแถว
Date.EndOfMonth หาวันสุดท้ายของเดือน ส่วน Date.EndOfYear หาวันสุดท้ายของปี ถ้าเป็นเดือน มิถุนายน Date.EndOfMonth จะคืน 30 มิถุนายน แต่ Date.EndOfYear จะคืน 31 ธันวาคมครับ
ได้ครับ ใช้ Duration.TotalDays ร่วมกับ Date.EndOfYear ได้ สมมติ Duration.TotalDays(Date.EndOfYear(#date(2025, 6, 15)) – #date(2025, 6, 15)) ก็จะได้วันที่เหลือในปี ส่วนตัวผมเคยใช้เพื่อคำนวณเปอร์เซ็นต์ความ progress ของปีครับ
ถ้า Input เป็น date ผลลัพธ์จะเป็น date ถ้า Input เป็น datetime ผลลัพธ์จะเป็น datetime (พร้อมเวลา) ถ้า Input เป็น datetimezone ผลลัพธ์จะเป็น datetimezone (พร้อม zone offset) ขนาด Data Type จะขึ้นอยู่กับ Input ที่ป้อนเข้าครับ
ได้ครับ ฟังก์ชันนี้จัดการกับ leap year โดยอัตโนมัติ ไม่ว่ากี่วันจะมี 29 กุมภาพันธ์ แต่สิ้นปีก็ยังคือ 31 ธันวาคมเหมือนเดิม
Date.EndOfYear ในPower Query ทำหน้าที่หาวันสุดท้ายของปีจากวันที่ใดๆ ที่คุณป้อนเข้าไป ไม่ว่าวันนั้นจะเป็นวันแรกของปี วันกลางปี หรือวันใกล้สิ้นปี ฟังก์ชันจะคืนค่า 31 ธันวาคมของปีเดียวกันที่มีเวลา 23:59:59.9999999 (เกือบลึกค่ำ) เสมอ
ที่เจ๋งคือ Date.EndOfYear นี่ทำให้งานกับช่วงเวลาในปีง่ายมากๆ สมมติต้องการหา “เหลือกี่วันถึงสิ้นปี” หรือ “ใช้กับการทำรายงานสิ้นปี” ก็ได้อย่างสะดวก แถมยังรักษาข้อมูล Time Zone ถ้า Input เป็น datetimezone ด้วย
ส่วนตัวผมใช้เวลาต้องคำนวณเรื่องการเงินหรืองบประมาณตามปีงบประมาณ ผมจะใช้ฟังก์ชันนี้ประสานกับ Date.DayOfYear หรือ Duration เพื่อหารายละเอียดต่างๆ ได้ดีมาก 😎