M Formula Language

Power Query ระดับกลางใน Excel

Lyndsay Girard

Performance Analytics Consultant

Advanced Editor

  • เขียนด้วยภาษา M formula (M code)
    • ตัวพิมพ์เล็ก-ใหญ่มีความแตกต่างกัน
  • นิพจน์ Let มีสองส่วน:
    • ส่วน "let" และ "in"
    • รายการตัวแปรหรือตัวระบุขั้นตอน คั่นด้วยจุลภาค
      • แต่ละขั้นตอนอ้างอิงชื่อขั้นตอนก่อนหน้า
    • ขั้นตอนหลัง "in" คือผลลัพธ์ที่แสดงในคิวรี
let
    Source = ""
in
    Source
Power Query ระดับกลางใน Excel

Advanced Editor

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]})
in
    MyTable

นิพจน์ Let แบบ 1 ขั้นตอน

Power Query ระดับกลางใน Excel

Advanced Editor

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]}),
    #"Sorted Rows" = Table.Sort(MyTable,{{"Result", Order.Ascending}})
in
    #"Sorted Rows"

นิพจน์ Let แบบ 2 ขั้นตอน

Power Query ระดับกลางใน Excel

Advanced Editor

let
    MyTable = Table.FromRecords({
    [ID = 1, Name = "A", Result = 10],
    [ID = 2, Name = "B", Result = 5]}),
    #"Sort" = Table.Sort(MyTable,{{"Result", Order.Ascending}}),
    #"Lower" = Table.TransformColumns(#"Sort",{{"Name", Text.Lower, type text}})
in
    #"Lower"

นิพจน์ Let แบบ 3 ขั้นตอน

Power Query ระดับกลางใน Excel

ประเภทของค่า

Primitive

  • ค่าส่วนเดียว (เช่น ตัวเลข, ตรรกะ, ข้อความ หรือ null)
    [ID = 1, Name = "A"]
    

Structured

  • List
  • Record
  • Table
  • Function
Power Query ระดับกลางใน Excel

ประเภทค่าแบบ Structured

List:

  • ลำดับค่าที่เรียงตามดัชนีเริ่มที่ 0 มีหนึ่งคอลัมน์
    List = {1,2,3}
    

Record:

  • โครงสร้างที่มีหนึ่งแถวแต่หลายคอลัมน์
    Record = [Column1=1,Column2=2]
    

Table:

  • โครงสร้างที่มีหลายแถวและหลายคอลัมน์
    Table = #table({"Column A","Column B"},
          {{1,10},{2,20}})
    
Power Query ระดับกลางใน Excel

ฟังก์ชันในตัวของ M

Function:

  • ค่าที่เมื่อเรียกใช้พร้อม argument จะสร้างค่าใหม่ขึ้นมา
  • ฟังก์ชัน Table
  • ฟังก์ชัน List
  • ฟังก์ชัน Number
  • ฟังก์ชัน Record
  • ฟังก์ชัน Date
  • ฟังก์ชัน Time
  • ฟังก์ชัน Duration
  • ... และอีกมากมาย!
1 https://learn.microsoft.com/en-us/powerquery-m/power-query-m-function-reference
Power Query ระดับกลางใน Excel

Custom Functions

  • การคำนวณที่ซับซ้อน
  • นำกลับมาใช้ซ้ำได้
  • กำหนด parameter ได้
  • เพิ่มประสิทธิภาพการทำงาน

 

  ไวยากรณ์ฟังก์ชันแบบกำหนดเอง:

= (Variable as Data Type, Variable as Data Type) => (Output Expression)
Power Query ระดับกลางใน Excel

Custom Functions

ตัวอย่าง custom function อย่างง่าย:

let
    MyFunction = (x) => x + 1
in
    MyFunction(10)

     

ตัวอย่าง custom function อย่างง่าย

Power Query ระดับกลางใน Excel

Query Parameters

  • ตัวแทนค่าที่ส่งเข้าคิวรีแบบไดนามิก
    • ทำให้คิวรียืดหยุ่นและนำกลับมาใช้ซ้ำได้
      • ตัวกรองแบบไดนามิก
      • Custom functions

มือปรับปุ่มสไลเดอร์ เปลี่ยนการตั้งค่าแอปพลิเคชันบนหน้าจอ ปรับแต่ง UI ด้วยสวิตช์

Power Query ระดับกลางใน Excel

มาฝึกกันเถอะ!

Power Query ระดับกลางใน Excel

Preparing Video For Download...