ข้อจำกัดของ Column From Examples และแนวทางแก้ไข

Column From Examples ใน Power Query เป็นเครื่องมือที่ช่วยให้ผู้ใช้สร้างคอลัมน์ใหม่ได้โดยไม่ต้องเขียนโค้ด M Language ซึ่งช่วยให้การแปลงข้อมูลทำได้ง่ายและสะดวกขึ้น โดยเฉพาะสำหรับการ แยกข้อความ, ดึงค่าจากวันที่, หรือ รวมข้อมูลจากหลายคอลัมน์ ซึ่งเราได้กล่าวถึงใน บทความ เริ่มต้นใช้งาน Column From Examples ใน Power Query – แปลงข้อมูลง่าย ๆ โดยไม่ต้องใช้โค้ด และบทความ เทคนิคการใช้ Column From Examples เพื่อสร้างคอลัมน์ตัวอย่างโดยกำหนดค่าเอง

อย่างไรก็ตาม ฟีเจอร์นี้มีข้อจำกัด เช่น ไม่สามารถใช้งานกับข้อมูลที่ต้องอ้างอิงค่าจากหลายแถว หรือข้อมูลที่ต้องใช้เงื่อนไขซับซ้อน หากต้องการคำนวณที่ซับซ้อนกว่านี้ อาจต้องใช้ M Language ใน Power Query หรือ DAX ซึ่งทำงานใน Data Model ของ Power BI

ในบทความนี้ เราจะสำรวจข้อจำกัดหลักของ Column From Examples พร้อมนำเสนอแนวทางแก้ไข เช่น Merge Queries, Custom Column พร้อม M Language และ DAX ใน Power BI ซึ่งผู้ใช้สามารถเลือกใช้ตามความถนัดหรือให้เหมาะกับลักษณะของงาน

1. ข้อมูลที่ต้องใช้ค่าจากหลายแถว (Row-dependent Data)

ตัวอย่างข้อมูล

วันที่ยอดขายยอดขายสะสม (ต้องการสร้าง)
01/01100100
02/01150250
03/01200450
04/0150500

ปัญหา:

Column From Examples ทำงานในระดับ แถวต่อแถว (Row-by-Row) เท่านั้น ไม่สามารถอ้างอิงค่าจากแถวก่อนหน้าเพื่อคำนวณผลรวมสะสมได้

แนวทางแก้ไข:

  • ใช้ Custom Column และเขียนโค้ด M Language เช่น
  • ใช้ DAX (ใน Data Model ของ Power BI)

2. ข้อมูลที่ต้องรวมค่าจากหลายแถวเป็นหนึ่งค่า (Aggregated Data)

ตัวอย่างข้อมูล

แผนกชื่อพนักงานรวมชื่อพนักงาน (ต้องการสร้าง)
ITสมชายสมชาย, สมหญิง, เดชา
ITสมหญิงสมชาย, สมหญิง, เดชา
ITเดชาสมชาย, สมหญิง, เดชา
HRอารีย์อารีย์, สุดา
HRสุดาอารีย์, สุดา

ปัญหา:

Column From Examples ไม่สามารถดึงค่าหลายแถวที่อยู่ในกลุ่มเดียวกันมาเชื่อมต่อกันในคอลัมน์ใหม่

แนวทางแก้ไข:

  • ใช้ Group By ใน Power Query
    • ไปที่ Transform → Group By → เลือก แผนก เป็นกลุ่ม
    • ใช้ All Rows แล้วเพิ่ม Custom Column เพื่อรวมค่าชื่อพนักงาน
  • ใช้ DAX (ใน Data Model ของ Power BI)

3. ข้อมูลที่ต้องอ้างอิงค่าจากอีกตารางหนึ่ง (Lookup Data)

ตัวอย่างข้อมูล

ตารางที่ 1: รายการคำสั่งซื้อ

Order IDรหัสสินค้าราคาขาย (ต้องการสร้าง)
1001P001300
1002P002450
1003P003150

ตารางที่ 2: ราคาสินค้า

รหัสสินค้าราคา
P001300
P002450
P003150

ปัญหา:

Column From Examples ไม่สามารถดึงข้อมูลจากอีกตารางเพื่อเติมค่าในคอลัมน์ใหม่

แนวทางแก้ไข:

  • ใช้ Merge Queries ใน Power Query
    • ไปที่ Home → Merge Queries
    • เชื่อมตารางตาม รหัสสินค้า
    • เลือกดึงคอลัมน์ ราคา มาใช้งาน
  • ใช้ DAX (Power BI)

4. ข้อมูลที่ต้องแยกค่าโดยใช้เงื่อนไขซับซ้อน

ตัวอย่างข้อมูล

รายละเอียดสินค้ารหัสสินค้า (ต้องการสร้าง)
[P001] โทรศัพท์มือถือP001
(P002) โน้ตบุ๊กP002
P003 – หูฟังบลูทูธP003

ปัญหา:

Column From Examples อาจไม่สามารถแยกเฉพาะรหัสสินค้าออกมาได้อย่างถูกต้องเสมอ เนื่องจากรูปแบบข้อความในแต่ละแถวไม่เหมือนกัน

แนวทางแก้ไข:

  • ใช้ Custom Column + M Language
  • ใช้ DAX (Power BI) สำหรับแยกข้อความ

5. ข้อมูลที่ต้องใช้ฟังก์ชันพิเศษ เช่น การเข้ารหัสหรือแปลงข้อมูลแบบเฉพาะเจาะจง

ตัวอย่างข้อมูล

หมายเลขโทรศัพท์หมายเลขที่เข้ารหัส (ต้องการสร้าง)
0812345678XXXXXX5678
0911112222XXXXXX2222

ปัญหา:

Column From Examples ไม่สามารถกำหนดให้ซ่อนบางส่วนของข้อมูล (เช่น แสดงเฉพาะ 4 ตัวท้าย) ได้โดยอัตโนมัติ

แนวทางแก้ไข:

  • ใช้ Custom Column + M Language
  • ใช้ DAX (Power BI) สำหรับ Masking ข้อมูล

จากแนวทางแก้ปัญหามีกล่าวถึงการใช้ Power Query และ DAX ในการแก้ปัญหา ซึ่ง Power Query และ DAX อยู่คนละส่วนเครื่องมือกันดังนี้

  • Power Query ใช้ M Language สำหรับการแปลงและจัดรูปแบบข้อมูลก่อนโหลดเข้า Data Model
  • DAX ใช้ใน Data Model ของ Power BI สำหรับคำนวณค่า เช่น Measures และ Calculated Columns

บทสรุป

แม้ว่า Column From Examples จะช่วยให้สร้างคอลัมน์ใหม่ได้ง่ายโดยไม่ต้องเขียนโค้ด แต่ก็มีข้อจำกัดในบางกรณี เช่น ไม่สามารถใช้กับข้อมูลข้ามแถว หรือดึงค่าจากอีกตารางได้

หากพบข้อจำกัดเหล่านี้ ผู้ใช้สามารถเลือกแนวทางที่เหมาะสม เช่น Merge Queries, Custom Column พร้อม M Language, หรือ DAX ใน Power BI เพื่อให้การประมวลผลและการแปลงข้อมูลเป็นไปตามที่ต้องการ

การเข้าใจขีดจำกัดของเครื่องมือและเลือกวิธีที่เหมาะสม จะช่วยให้การทำงานกับข้อมูลมีประสิทธิภาพมากขึ้น

หลักสูตรที่เกี่ยวข้อง

Microsoft 365 for End User Training
Microsoft SharePoint Online For Front-End
Microsoft Power Apps (Canvas App) Workshop
Microsoft Power Automate (Cloud)
Microsoft Copilot Studio (Former Power Virtual Agent)
Power BI for Beginners

สนใจสอบถามรายละเอียดเพิ่มเติม

Tel: 021198405

Line: @M365th

Email: Sales@m365.co.th