Snippet: Power Query Cleanup Base
M snippet สำหรับ source, promote headers, changed type, remove blank rows และเลือก column สุดท้าย.
เหมาะกับใคร
คนที่เริ่มเขียนหรืออ่าน M แล้วอยากมีโครง cleanup พื้นฐาน
ใช้เมื่อไร
- เริ่ม query ใหม่จาก Excel/CSV
- อยากจัด step ให้อ่านง่าย
- ต้องอธิบายให้ทีมเห็นว่า cleanup ทำอะไรบ้าง
ไม่ใช่สูตร copy ตรงๆ ได้ทุก source ต้องปรับชื่อ column และ path ให้ตรงข้อมูลจริง
ขั้นตอนใช้งาน
- 1
ตั้งชื่อ step ให้มีความหมาย
ใช้ชื่ออย่าง CleanRows หรือ ChangedTypes แทนชื่อที่อ่านไม่รู้เรื่อง.
- 2
จัด type ก่อนโหลด
Date, number และ text ต้องถูกก่อนทำ model หรือ report.
- 3
เลือก column สุดท้าย
ลด column ที่ไม่ใช้ก่อนโหลดเข้า model.
สำหรับมือใหม่
ให้อ่าน M เหมือน recipe: แต่ละบรรทัดคือ step และบรรทัดหลัง in คือผลลัพธ์สุดท้าย.
Copy-ready snippet
Cleanup base
m
let
Source = Excel.Workbook(File.Contents("sales.xlsx"), null, true),
SalesSheet = Source{[Item="Sales", Kind="Sheet"]}[Data],
PromotedHeaders = Table.PromoteHeaders(SalesSheet, [PromoteAllScalars=true]),
RemovedBlankRows = Table.SelectRows(PromotedHeaders, each [OrderID] <> null),
ChangedTypes = Table.TransformColumnTypes(
RemovedBlankRows,
{{"OrderDate", type date}, {"ProductID", type text}, {"Amount", type number}}
),
FinalColumns = Table.SelectColumns(ChangedTypes, {"OrderDate", "ProductID", "Amount"})
in
FinalColumns