ภาษา M ใน Power Query

ภาษา M (M Language) เป็นภาษาสคริปต์ที่ทำงานในหลังฉากเมื่อเราสร้างสูตรด้วย Power Query ใน Power BI และ Excel ถูกสร้างโดย Microsoft หน้าที่หลักของภาษา M คือการแปลงข้อมูล (Data Transformation) การ ETL (Extract Transform Load)
ภาษา M ใน Power Query
ทักษะ (ระบุได้หลายทักษะ)

ภาษา M ใน Power Query

ภาษา M (M Language) คืออะไร

ภาษา M (M Language) คือภาษาสคริปต์ที่ทำงานในหลังฉากเมื่อเราสร้างสูตรด้วย Power Query ใน Power BI และ Excel ถูกสร้างโดย Microsoft หน้าที่หลักของภาษา M คือการแปลงข้อมูล (Data Transformation) การ ETL (Extract Transform Load) มีความสามารถในการ นำข้อมูลจากแหล่งต่าง ๆ มาจัดการทำให้ข้อมูลต่าง ๆ นั้น เพื่อเตรียมข้อมูลให้พร้อมที่จะนำไปใช้ในการวิเคราะห์ข้อมูลต่อไป

ความสามารถของ Power Query

  • การสกัดข้อมูล (Extract Data)
  • การรวมข้อมูล (Combine Data)
  • การแปลงข้อมูล (Data Transformation)
  • การชำระข้อมูล (Data Cleansing)
  • การกรองข้อมูลที่ต้องการ (Data Filtering)
  • การลบข้อมูลที่ไม่ต้องการออก และจัดทรงข้อมูลเพื่อนำไปวิเคราะห์ (Data Shaping)
โดยเครื่องมือที่ช่วยในการทำงานในส่วนนี้เราเรียกว่า Power Query ซึ่งจะช่วยในการสร้างภาษา M ให้เราผ่าน UI (User Interface) ที่เข้าใจได้ง่าย ๆ โดยจะทำอย่างเป็นขบวนการทีละขั้นตอน คล้ายกับการสร้าง Macro ของ Excel คือจะบันทึกขั้นตอนที่เรากำหนด โดยที่
  • ขั้นตอนปัจจุบันจะทำงานกับข้อมูลที่ถูกเปลี่ยนแปลงจากขั้นตอนก่อนหน้า และ
  • ขั้นตอนต่อไปจะแปลงข้อมูลให้แตกต่างไปจากกระบวนการปัจจุบันมากยิ่งขึ้นไปอีก

สามารถศึกษาการทำงานของ Power Query ได้ที่ บทความ Power Query ทำงานอย่างไร

ภาษา M เขียนได้ที่ใด

การเขียนสคริปต์ภาษา M จะยืดหยุ่นกว่าการใช้  Power Query ที่ใช้ UI เพราะสามารถป้อนพิมพ์โค้ดได้อย่างพลิกแพลงหลากหลายกว่าโค้ดที่ได้จากการเลือกเมนูคำสั่งและตัวเลือกต่าง ๆ
  • ในโปรแกรม Excel 2016, 2019 ขึ้นไป ท่านสามารถป้อนคำสั่งภาษา M ใน Power Query Editor หรือที่แถบ Formular Bar ได้โดยตรงก็สามารถทำได้
  • ส่วนในโปรแกรม Power BI Desktop ป้อนได้ที่ Power Query Editor จากนั้นสามารถสั่งให้ทำงานที่ละขั้น เมื่อทำครบเสร็จแล้ว ท่านอาจจะทดลองยกเลิกขั้นตอนย้อนหลังไปทีละขั้นเพื่อตรวจสอบการทำงานของโค้ดก็ได้
ตัวอย่างการเข้าไปยังหน้าต่างของ Power Query Editor ใน Power BI Desktop ทำได้โดย
  1. คลิกที่ป้าย Home
  2. คลิกที่คำสั่ง Transform data
 
การเข้าไปยังหน้าต่างของ Power Query Editor ใน Power BI Desktop
จะปรากฏหน้าต่างของ Power Query Editor หากต้องการเข้าไปดู แก้ไข หรือ ปรับแต่ง สามารถทำได้โดย
  1. คลิกขวาที่ Query ที่ต้องการ
  2. เลือกคำสั่ง Advanced Editor
จะปรากฏหน้าต่างของ Advanced Editor ซึ่งเราสามารถทำการเขียน M ได้ที่บริเวณนี้
การเข้าสู่ Advanced Editor เพื่อแก้ไขภาษา M ใน Power Query Editor


หน้าต่างของ Power Query Editor ซึ่งเราสามารถทำการเขียน แก้ไข ปรับแต่ง ภาษา M ได้ที่นี่ ได้เลย

หน้าต่างของ Power Query Editor สำหรับปรับแก้ไข ภาษา M ได้

กรุณาอย่าสับสนระหว่างภาษา M กับภาษา DAX เพราะเป็นคนละภาษาที่ไม่มีอะไรเกี่ยวข้องกัน ซึ่งสามารถดูบทความเรื่อง DAX (Data Analysis Expression) ได้ที่นี่ พร้อมดู DAX ในรูปแบบ Infographic

ลักษณะของภาษา M

ภาษา M มีลักษณะเป็นภาษาคอมพิวเตอร์เต็มรูปแบบ ลักษณะคล้ายภาษา F# เช่น

  • M เป็นภาษาเชิงฟังก์ชัน (functional programming language)
  • คำสั่งเป็นตัวอักษรเล็กทั้งหมด
  • การประกาศตัวแปรสามารถทำได้โดยไม่ต้องกำหนดชนิดข้อมูล ตัวแปรมีลักษณะพลวัตคือเปลี่ยน Data Type ไปมาได้ มีประเภท Data Type พื้นฐานคือ Whole Number, Decimal, Text, Boolean, Date, DateTime และ null มีประเภทแบบเก็บข้อมูลเป็นชุดลายแบบ เช่น list, record และ table
  • ลักษณะของฟังก์ชันจะเหมือนฟังก์ชันทางคณิตศาสตร์ ไม่ใช่ฟังก์ชันที่เป็นโปรแกรมย่อยอย่างในภาษา C

ข้อควรระวัง

ข้อควรระวังคือภาษา M มีภาวะอ่อนไหวต่อตัวอักษรเล็กใหญ่ (Case Sensitive) โดยที่ตัวอักษร a ไม่เหมือน A ดังนั้นต้องระมัดระวังในการใช้งานให้ดี และ หากใน Power Query Editor จะมีตัวช่วยได้แก่ popup menu ให้เลือก เพื่อเรียกใช้ Function หรือ กำหนด Data Type ต่าง ๆ โดยต้องเลือกให้ถูกต้อง

แนะนำหลักสูตร