Date.StartOfYear คืนค่าวันแรกของปี (1 มกราคม เวลา 00:00:00) จากวันที่ใดๆ ที่ส่งเข้ามา ใช้สำหรับคำนวณตัวชี้วัดแบบ Year-To-Date หรือจัดกลุ่มข้อมูลตามปี
=Date.StartOfYear(dateTime as any) as any
=Date.StartOfYear(dateTime as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| dateTime | date | datetime | datetimezone | Yes | วันที่หรือวันเวลาใดๆ ที่อยู่ในปีนั้น ฟังก์ชันจะคืนค่าวันแรกของปี |
Date.StartOfYear(#date(2025, 5, 15))=Date.StartOfYear(#date(2025, 5, 15))
#date(2025, 1, 1)
Date.StartOfYear(#datetime(2025, 10, 10, 8, 30, 45))=Date.StartOfYear(#datetime(2025, 10, 10, 8, 30, 45))
#datetime(2025, 1, 1, 0, 0, 0)
Table.AddColumn(#"Sales Data", "Year Start", each Date.StartOfYear([OrderDate]))= Table.AddColumn(#"Sales Data", "Year Start", each Date.StartOfYear([OrderDate]))
เพิ่มคอลัมน์ใหม่ชื่อ Year Start ที่เก็บวันต้นปี
Duration.Days(Date.StartOfYear(DateTime.Now()) - DateTime.Now())= Duration.Days(Date.StartOfYear(DateTime.Now()) - DateTime.Now())
จำนวนวันตั้งแต่ต้นปีถึงวันนี้ (เป็นลบ)
ผมใช้ Date.StartOfYear เวลาต้องการวันต้นปี (1 มกราคม) และใช้ Date.StartOfMonth เวลาต้องการวันต้นเดือน ทั้ง 2 ฟังก์ชันทำงานคล้ายกัน แต่ช่วงเวลาที่ส่งกลับมาต่างกัน
ฟังก์ชันจะส่งกลับมาเป็น error หรือ null ขึ้นอยู่กับการตั้งค่า ผมแนะนำให้ใช้ Table.TransformColumns หรือ each เพื่อตรวจสอบค่าก่อน
ผมใช้เวลาคำนวณ YTD metrics, จัดกลุ่มข้อมูลตามปี, หรือเปรียบเทียบข้อมูล Year-Over-Year ฟังก์ชันนี้ช่วยหาจุดเริ่มต้นของแต่ละปีได้เร็ว
ฟังก์ชัน Date.StartOfYear ใน Power Query ใช้เพื่อหาวันแรกของปีที่ตรงกับวันที่ที่คุณส่งเข้ามา ไม่ว่าจะส่งเข้ามาเป็น date, datetime หรือ datetimezone ตัวฟังก์ชันจะคืนค่าเป็น January 1st ของปีนั้นเสมอ ตั้งเวลาให้เป็น 00:00:00 เสมอ
ที่เจ๋งคือ ฟังก์ชันนี้ทำให้ผมเข้าถึงจุดเริ่มต้นของปีได้อย่างรวดเร็ว ช่วยให้คำนวณ YTD (Year-To-Date) ได้ง่าย และสามารถเปรียบเทียบข้อมูลระหว่างปีได้ อีกทั้งยังใช้สำหรับจัดกลุ่มข้อมูลตามปีอย่างแม่นยำ
ส่วนตัวผม ผมใช้ Date.StartOfYear เวลาทำ Year-Over-Year analysis ก็จะรู้ว่าจุดเริ่มต้นของแต่ละปีอยู่ที่ไหน ทำให้คำนวณช่วงเวลาตั้งแต่ต้นปีถึงวันที่กำหนดได้ถูกต้อง 😎