Date.From แปลงข้อมูลหลายรูปแบบ (ข้อความ ตัวเลข DateTime DateTimeZone) เป็นค่า date ที่สามารถใช้ในการคำนวณและจัดรูปแบบได้ รองรับการระบุ culture สำหรับการแปลงวันที่ localized
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| value | any | ค่าที่ต้องการแปลง ยอมรับ text datetime datetimezone number หรือ date | |
| [culture]ไม่บังคับ | text | null (ใช้ default culture ของระบบ) | รหัสภาษา/วัฒนธรรม เช่น ‘en-US’ ‘de-DE’ ‘fr-FR’ ใช้เมื่อข้อความวันที่ถูกเขียนตามรูปแบบ localized |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
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 กลับมาไม่ทำให้เกิดข้อผิดพลาด ทำให้การจัดการข้อมูลที่ไม่สมบูรณ์ง่ายขึ้น
แปลงคอลัมน์ที่มีทั้งวันที่และเวลา ให้เหลือแค่วันที่
แปลง "2025-12-31" ให้เป็นชนิดข้อมูล Date ที่ถูกต้อง
แปลง Serial Number ของ Excel (เช่น 45658) ให้เป็นวันที่
เมื่อมี DateTime value ที่มีเวลา ฟังก์ชัน Date.From จะตัดส่วนเวลาออก และเหลือเพียงส่วนวันที่ เหมาะสำหรับเวลาที่ไม่ต้องการเก็บ time component
ตัวเลข 43910 แทนจำนวนวันตั้งแต่ 30 ธันวาคม 1899 (วันที่ 0) การใช้ Date.From จะคำนวณเป็นวันที่ที่ถูกต้อง ระบบเดียวกับ Excel serial dates
โดยการกำหนด culture เป็น 'de-DE' Power Query จึงเข้าใจว่า 'Januar' หมายถึง January (มกราคม) และแปลงเป็นวันที่ที่ถูกต้อง ส่วนตัวผมใช้วิธีนี้สำหรับข้อมูล localized จากแหล่งต่างประเทศ
ใช้ Table.TransformColumns ร่วมกับ Date.From เพื่อแปลงคอลัมน์ทั้งหมด ฟังก์ชัน each _ อ้างถึงค่าในแต่ละแถว นี่คือวิธี standardize data types สำหรับคอลัมน์วันที่
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 จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Date.FromText แปลงค่าข้อความให้เป็นค่าวันที่ รองรับการระบุรูปแบบวันที่และภาษาที่แตกต่างกัน ฟังก์ชันนี้จำเป็นสำหรับการอ่านข้อมูลวันที่จากแหล่งข้อมูลภายนอก การจัดการข้อมูลที่มีรูปแบบวันที่หลากหลาย และการทำให้ข้อมูลเป็นมาตรฐาน
Date.ToText แปลงค่า Date ให้เป็น Text String โดยสามารถกำหนด Format และ Culture ได้ตามต้องการ เหมาะสำหรับแสดงผลวันที่ในรูปแบบที่สวยงาม
ดึงเฉพาะส่วนวันที่ (Date) ออกจากค่า DateTime หรือ DateTimeZone โดยทิ้งเวลาไป
DateTimeZone.LocalNow ส่งกลับวันและเวลาปัจจุบันของระบบพร้อมข้อมูลเขตเวลาท้องถิ่น ใช้สำหรับสร้าง Timestamp ที่รับรู้เขตเวลา
Number.From จะพยายามแปลงค่า Input ให้เป็น Number หากเป็น Text จะพยายาม Parse ตัวเลขออกมา หากเป็น Date/Time จะแปลงเป็น Serial Number (เช่นเดียวกับ Excel)
Table.TransformColumnTypes เปลี่ยน Data Type ของคอลัมน์ที่ระบุให้เป็นประเภทใหม่ (เช่น Text เป็น Number, Date เป็น Text) โดยใช้ built-in conversion methods เบื้องหลัง รองรับการแปลงหลายคอลัมน์พร้อมกัน และสามารถระบุ culture parameter เพื่อจัดการ locale-specific formatting สำหรับวันที่และตัวเลข เหมาะสำหรับขั้นตอนเตรียมข้อมูลก่อน Load เข้า Data Model เพื่อป้องกัน conversion errors และเพิ่มประสิทธิภาพ ใช้ร่วมกับ Table.TransformColumns, Number.From, Text.From และ Date.From เมื่อต้องการ custom transformation logic
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่