ดึงเฉพาะส่วนวันที่ (Date) ออกจากค่า DateTime หรือ DateTimeZone โดยทิ้งเวลาไป
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| dateTime | DateTime/DateTimeZone/Date | ค่า DateTime, DateTimeZone หรือ Date ที่ต้องการดึงส่วนวันที่ออกมา |
DateTime.Date เป็นฟังก์ชันที่ช่วยดึงเฉพาะส่วนวันที่ออกจากค่า DateTime หรือ DateTimeZone ให้ติดเหนี่ยว ใช้ดีเมื่อเราได้ค่า DateTime แบบเต็มตัว แต่ต้องการแค่วันที่โดยไม่มีเวลา
ที่เจ๋งคือ DateTime.Date ทำให้เราสามารถแยกข้อมูลออกมาเป็นส่วนๆ ได้ง่าย ไม่ว่าจะเป็นข้อมูล DateTime ที่มีเวลาที่แตกต่างกัน ทั้งหมดจะกลายเป็น Date ที่ง่ายต่อการจัดกลุ่มหรือเปรียบเทียบ
ส่วนตัวผม ใช้ DateTime.Date คู่กับ Table.TransformColumns เมื่อต้องการแปลงคอลัมน์ DateTime ทั้งหมดเป็น Date พอแล้วเวลาของมันหมดไป ข้อมูลจึงเหมาะสำหรับการ group by ตามวันที่มากขึ้น 😎
ฟังก์ชัน DateTime.Date ดึงส่วนวันที่ (2025-05-20) ออกจาก DateTime ที่มีเวลา (14:30:45) ผลลัพธ์คือ date ที่ไม่มีเวลา
ทำงานได้ดีกับ DateTimeZone เช่นกัน เมื่อมีค่าเขตเวลาปนมา DateTime.Date จะเอาแค่วันที่ส่วน ทิ้งเวลาและเขตเวลาไป
ใช้ Table.TransformColumns คู่กับ DateTime.Date เพื่อแปลงคอลัมน์ DateTime เป็น Date ทั้งตาราง วิธีนี้สะดวกกว่าการแยกหรือแต่งตั้งคอลัมน์ใหม่ หรือจะใช้ each DateTime.Date([OrderDateTime]) ก็ได้เช่นกัน
สถานการณ์จริงที่พบบ่อย: เรามี transaction log ที่มี timestamp ที่มีวินาที แต่ต้องการสรุปตามวันที่ DateTime.Date ช่วยดึงวันที่ออกมา จากนั้น group by ตามวันนั้นได้ถูกต้อง
DateTime.Date ใช้สำหรับดึงส่วน Date จาก DateTime/DateTimeZone ส่วน Date.From เป็นฟังก์ชันแปลงประเภท (type conversion) ที่พยายามแปลง text หรือค่าอื่นๆ เป็น Date DateTime.Date ใช้ดีเมื่อข้อมูลเป็น DateTime อยู่แล้ว
DateTime.Date จะส่งคืน null นี่คือพฤติกรรมของฟังก์ชัน nullable ใน Power Query ถ้าต้องการจัดการ null ให้ใช้ Table.ReplaceValue หรือ if statement ในคำสั่ง each
ได้ ถ้าส่ง Date เข้าไป DateTime.Date จะคืน Date นั้นกลับมาเหมือนเดิม ไม่มีปัญหา
ไม่หายไป มันถูกแสดงออกมาเป็นส่วนหนึ่งของค่า DateTime เท่านั้น DateTime.Date แสดงแค่ส่วน Date ส่วนเวลายังอยู่ในค่า DateTime ดั้งเดิม ถ้าต้องดึงเวลาออกมาให้ใช้ DateTime.Time แทน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ DateTime.Date จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DateTime.From แปลงค่าต่างๆ (Text, Date, Time, Number) ให้เป็นข้อมูลชนิด DateTime ด้วยการระบุค่าและรหัสภาษาทำให้สะดวกในการจัดการข้อมูลวันเวลาจากแหล่งต่างๆ
DateTime.LocalNow คืนค่า DateTime (วันที่ + เวลา) ปัจจุบันตามระบบ เทียบเท่า NOW() ใน Excel แต่ทำงานบน Power Query
ฟังก์ชันที่ดึงเฉพาะส่วนเวลา (Time) ออกจากค่า DateTime เมื่อคุณต้องการแยกเวลาจากค่าวันที่และเวลารวมกัน
Date.From แปลงข้อมูลหลายรูปแบบ (ข้อความ ตัวเลข DateTime DateTimeZone) เป็นค่า date ที่สามารถใช้ในการคำนวณและจัดรูปแบบได้ รองรับการระบุ culture สำหรับการแปลงวันที่ localized
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่