กลับไปหน้า Power Query
ทริคPower Query

Custom Column

เขียนสูตร M สร้างคอลัมน์ที่ปุ่มสำเร็จรูปทำไม่ได้

เริ่มอ่านตรงนี้ก่อน

อธิบายแบบง่าย

Custom Column คือเรื่องที่ช่วยให้เราใช้เชื่อมต่อและทำความสะอาดข้อมูลซ้ำๆ ให้เป็นขั้นตอนก่อนเอาไปทำรายงานได้ถูกทางขึ้น

ระดับ

เหมาะกับคนที่เริ่มลงมือทำแล้ว

ใช้เมื่อไหร่

ต้องต่อข้อความหลายคอลัมน์เข้าด้วยกัน เช่น สร้างคีย์จาก Year & Month

อ่านแล้วทำอะไรต่อ

สร้างคอลัมน์ NetAmount = Amount คูณกับ (1 ลบ Discount) แล้วตั้งชนิดข้อมูลเป็น number

ใช้ตอนไหน?

  • ต้องต่อข้อความหลายคอลัมน์เข้าด้วยกัน เช่น สร้างคีย์จาก Year & Month
  • ต้องคำนวณค่าจากหลายคอลัมน์ เช่น Amount * (1 - Discount)
  • ต้องใช้ฟังก์ชัน M เช่น Text.Upper, Date.Year ที่ไม่มีปุ่มสำเร็จรูป

ความหมาย

Custom Column คือการสร้างคอลัมน์ใหม่ด้วยการเขียนสูตรภาษา M (ภาษาเบื้องหลังของ Power Query) เอง ใช้เมื่อปุ่มสำเร็จรูปทำไม่พอ เช่น ต้องรวมข้อความหลายคอลัมน์ คำนวณข้ามคอลัมน์ หรือใช้ฟังก์ชัน M เฉพาะทาง

เขียนสูตร M ในหน้าต่าง Custom Column

Add Column > Custom Column ตั้งชื่อคอลัมน์ แล้วเขียนสูตร อ้างถึงคอลัมน์ด้วยวงเล็บก้ามปู [ชื่อคอลัมน์] ภาษา M แยกตัวพิมพ์เล็กใหญ่ และตั้งชนิดข้อมูลให้คอลัมน์ใหม่หลังสร้างเสร็จเสมอ

Add Column > Custom Column
= Table.AddColumn(Source, "NetAmount",
    each [Amount] * (1 - [Discount]), type number)
// ต่อข้อความสร้างคีย์:
= Table.AddColumn(Source, "YearMonth",
    each Text.From([Year]) & "-" & Text.From([Month]), type text)

ตัวอย่างการใช้

คำนวณยอดสุทธิหลังหักส่วนลด

สร้างคอลัมน์ NetAmount = Amount คูณกับ (1 ลบ Discount) แล้วตั้งชนิดข้อมูลเป็น number

= Table.AddColumn(Source, "NetAmount",
    each [Amount] * (1 - [Discount]), type number)