Date.From แปลงข้อมูลหลายรูปแบบ (ข้อความ ตัวเลข DateTime DateTimeZone) เป็นค่า date ที่สามารถใช้ในการคำนวณและจัดรูปแบบได้ รองรับการระบุ culture สำหรับการแปลงวันที่ localized
= Date.From(value as any, optional culture as nullable text) as nullable date
= Date.From(value as any, optional culture as nullable text) as nullable date
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| value | any | Yes | ค่าที่ต้องการแปลง ยอมรับ text datetime datetimezone number หรือ date | |
| culture | text | Optional | null (ใช้ default culture ของระบบ) | รหัสภาษา/วัฒนธรรม เช่น ‘en-US’ ‘de-DE’ ‘fr-FR’ ใช้เมื่อข้อความวันที่ถูกเขียนตามรูปแบบ localized |
แปลงคอลัมน์ที่มีทั้งวันที่และเวลา ให้เหลือแค่วันที่
แปลง "2025-12-31" ให้เป็นชนิดข้อมูล Date ที่ถูกต้อง
แปลง Serial Number ของ Excel (เช่น 45658) ให้เป็นวันที่
Date.From(#datetime(1899, 12, 30, 06, 45, 12))= Date.From(#datetime(1899, 12, 30, 06, 45, 12))
#date(1899, 12, 30)
Date.From(43910)= Date.From(43910)
#date(2020, 3, 20)
let GermanDate = "20 Januar 2023", Result = Date.From(GermanDate, "de-DE") in Resultlet
GermanDate = "20 Januar 2023",
Result = Date.From(GermanDate, "de-DE")
in
Result
#date(2023, 1, 20)
let Source = Table.FromRows( {{"2024-01-15", 100}, {"2024-02-20", 200}, {"2024-03-10", 150}}, {"DateText", "Amount"} ), ConvertedDates = Table.TransformColumns(…let
Source = Table.FromRows(
{{"2024-01-15", 100}, {"2024-02-20", 200}, {"2024-03-10", 150}},
{"DateText", "Amount"}
),
ConvertedDates = Table.TransformColumns(
Source,
{"DateText", each Date.From(_), type date}
)
in
ConvertedDates
ตาราง 3 แถว คอลัมน์ DateText เปลี่ยนจากข้อความเป็น date type ได้สำเร็จ
Date.From ยอมรับข้อมูลหลายประเภท (text datetime number datetimezone) ส่วน Date.FromText ต้องการ text เท่านั้นแต่ให้ control format ที่ละเอียดกว่า ถ้า input เป็นหลายประเภท ให้ใช้ Date.From
Date.From จะคืน null กลับมา ไม่เกิด error ทำให้สะอาดเมื่อมีข้อมูลที่ขาดหายไป
นับจาก 30 ธันวาคม 1899 เป็นวันที่ 1 ซึ่งเป็นมาตรฐาน Excel ด้วย วันที่ 43910 = 20 มีนาคม 2020
ตัวอย่าง en-US (องเกิษฐ์) de-DE (เยอรมัน) fr-FR (ฝรั่งเศส) ja-JP (ญี่ปุ่น) th-TH (ไทย) zh-CN (จีนแบบจำหน่าย) เป็นต้น
Date.From(value as any, optional culture as nullable text) as nullable date
Date.From เป็นฟังก์ชันที่ใช้แปลงข้อมูลจากหลายรูปแบบให้เป็นประเภท date ซึ่งจำเป็นสำหรับการวิเคราะห์ข้อมูลอนุกรมเวลา การแปลงข้อความวันที่จากแหล่งข้อมูลต่างประเทศ หรือการแยกส่วนวันที่จาก DateTime values
ใช้ได้กับข้อมูลประเภท text (รวมรูปแบบ localized) datetime datetimezone number (OLE Automation format) และ date ตัวเอง จะคืนค่า null หากค่า input เป็น null ทำให้ไม่เกิด error
ส่วนตัวผมมักใช้ Date.From เมื่อต้องทำความสะอาดวันที่จากระบบต่างๆ ที่มีรูปแบบแตกต่าง แล้วจึงกำหนด culture เพื่อให้ Power Query อ่านข้อความวันที่อย่างถูกต้องตามท้องถิ่น 😎 ข้อดีคือถ้า input เป็น null จะคืน null กลับมาไม่ทำให้เกิดข้อผิดพลาด ทำให้การจัดการข้อมูลที่ไม่สมบูรณ์ง่ายขึ้น