Folder.Files ใช้สำหรับอ่านรายชื่อไฟล์ทั้งหมดในโฟลเดอร์ที่กำหนด รวมถึงโฟลเดอร์ย่อยด้วย คืนค่าเป็น table ที่มีข้อมูลไฟล์เช่น ชื่อ วันที่สร้าง ขนาด และลิงก์เข้าถึงไฟล์
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| path | text | เส้นทางไปยังโฟลเดอร์ที่ต้องการอ่านไฟล์ ต้องเป็น absolute path เช่น “C:\Users\Data\Files” หรือ “\\server\share\folder” | |
| [options]ไม่บังคับ | nullable record | null | ตัวเลือกเพิ่มเติม (ปกติไม่ใช้) ใช้สำหรับการตั้งค่าเพิ่มเติมของ function |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Folder.Files ใช้สำหรับดึงรายชื่อไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ที่ระบุ โดยจะค้นหาแบบซ้ำได้ (recursive) เข้าไปในโฟลเดอร์ย่อยด้วย
ที่เจ๋งคือ function นี้ใช้ได้กับ path ใดๆ ก็ได้ ไม่ว่าจะ Windows หรือ network path ก็ยังใช้ได้ ผลลัพธ์จะเป็น table ที่มีคอลัมน์อย่างเช่น Name, Folder Path, Attributes, Date Accessed, Date Created, Date Modified, Size และ Content ซึ่ง Content column มีลิงก์ให้เรา binary file ได้
ส่วนตัวผม ใช้ Folder.Files เวลาต้อง consolidate ไฟล์หลายๆ ไฟล์เข้าด้วยกัน เช่น อ่านไฟล์ Excel ทั้งหมดในโฟลเดอร์ แล้ว loop ผ่านแต่ละไฟล์เพื่อ combine ข้อมูล ประหยัดเวลามากเลย ไม่ต้องไป load ทีละไฟล์ 😎
ดึงรายชื่อและข้อมูลของไฟล์ทั้งหมดในโฟลเดอร์ Reports รวมถึงโฟลเดอร์ย่อย จะได้ table ที่มีข้อมูลแต่ละไฟล์
อ่านไฟล์ทั้งหมด แล้ว filter เอาแค่ไฟล์ที่ลงท้ายด้วย .xlsx หรือ .xls โดยตรวจสอบจาก Name column
ใช้ Folder.Files หาไฟล์ CSV ทั้งหมด แล้วสร้าง column ใหม่ที่มีข้อมูล CSV ที่ parse มาแล้ว จากนั้น expand ออกมาได้ตามความต้องการ
ใช้ Folder.Files อ่านไฟล์ทั้งหมด แล้ว filter เอาแค่ไฟล์ที่สร้างภายใน 7 วันที่ผ่านมา โดยเช็ค Date Created column
ใช้ Folder.Files หาไฟล์ Excel ทั้งหมด จากนั้น load ข้อมูลจากแต่ละไฟล์ แล้ว combine ข้อมูลเข้าด้วยกัน เป็นวิธีสำคัญสำหรับ consolidation
ใช่ ค้นหาแบบ recursive ไป ตามหาไฟล์ในโฟลเดอร์ย่อยทั้งหมดด้วย ถ้าต้องการแค่โฟลเดอร์ระดับแรก ต้อง filter จาก [Folder Path] column เอง
[Content] column จะมีข้อมูล binary ของไฟล์ ใช้ร่วมกับ Csv.Document(), Excel.Workbook(), Json.Document() ฯลฯ เพื่อ parse เนื้อหา
ได้ table ว่างๆ มา (empty table with columns) ไม่มี error
ได้ ใช้ได้กับ UNC path เช่น "\\\\server\\share\\folder" อย่าลืม escape backslash ให้ถูกต้อง
ได้ error กลับมา เช่น "Folder not found" ต้องใช้ try-catch หรือตรวจสอบ path ก่อน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Folder.Files จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Csv.Document แปลงข้อมูลรูปแบบ CSV (Comma-Separated Values) ให้เป็นตารางข้อมูล (table) ใน Power Query โดยรองรับการกำหนดตัวแบ่งข้อมูล (delimiter), รหัสภาษา (encoding) และโครงสร้างคอลัมน์ (column structure) แบบต่างๆ ได้ตามความต้องการ function นี้สามารถแยกวิเคราะห์ทั้งข้อมูลแบบ binary content ที่ได้จาก File.Contents และข้อความแบบ text string ที่ได้จาก Web.Contents พร้อมจัดการข้อความที่ครอบด้วย quote ตามมาตรฐานสากล CSV standard เหมาะสมสำหรับการนำเข้าไฟล์ CSV จากระบบไฟล์ในเครื่อง (local), ที่อยู่เว็บไซต์ (URL) หรือการตอบกลับจาก API (API response) ที่มีตัวแบ่งข้อมูลแบบกำหนดเอง (custom delimiter), เนื้อหาภาษาต่างประเทศ หรือโครงสร้างพิเศษที่ต้องการการควบคุมเฉพาะ คืนค่าออกมาเป็นตารางที่ทุกคอลัมน์มีประเภทข้อมูลเป็นข้อความ (text type) ควรใช้ร่วมกับ Table.PromoteHeaders เพื่อยกแถวแรกขึ้นเป็นหัวตาราง และ Table.TransformColumnTypes เพื่อแปลงประเภทข้อมูลให้เหมาะสมกับการใช้งาน
Excel.Workbook อ่าน binary content ของไฟล์ Excel แล้วคืนค่าเป็น table ที่แต่ละ row แทนด้วย worksheet, named range หรือ Excel table โดยมี columns คือ Item (ชื่อ), Kind (ประเภท), Name (ชื่อเต็ม), Data (nested table ของข้อมูลจริง), และ Hidden (boolean) รองรับ useHeaders และ delayTypes เป็น parameters แต่ Microsoft แนะนำให้ใช้ Table.PromoteHeaders แทนเพื่อหลีกเลี่ยงปัญหา culture conversion นอกจากนี้ยังมี InferSheetDimensions option สำหรับแก้ปัญหา metadata ที่ผิดพลาด ใช้ร่วมกับ File.Contents หรือ Web.Contents สำหรับโหลดไฟล์
File.Contents ใช้อ่านข้อมูล binary ของไฟล์จากพาธที่ระบุ เพื่อนำเข้าข้อมูลจากระบบไฟล์ลงในโปรแกรม
Folder.Contents เป็น function สำหรับดึงรายการไฟล์และโฟลเดอร์ทั้งหมดที่อยู่ใน folder path ที่กำหนดไว้ โดยจะคืนค่าเป็น table ที่มีข้อมูล metadata ครบถ้วน เช่น ชื่อไฟล์ วันที่สร้างและแก้ไข ขนาดไฟล์ และ binary content link สำหรับเข้าถึงเนื้อหาภายในไฟล์ เหมาะสำหรับงานที่ต้องการ import ข้อมูลจากหลายไฟล์พร้อมกันในโฟลเดอร์เดียว หรือการวิเคราะห์โครงสร้างไฟล์และคุณสมบัติต่างๆ ก่อนตัดสินใจนำเข้าข้อมูล
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่