แบบจําลองการประเมินผล
แบบจําลองการประเมินผลของภาษาสูตร Power Query M จะถูกจัดรูปแบบหลังจากที่พบแบบจําลองการประเมินผลได้ทั่วไปในสเปรดชีต ซึ่งสามารถกําหนดลําดับการคํานวณตามการขึ้นต่อกันระหว่างสูตรต่าง ๆ ในเซลล์
ถ้าคุณมีสูตรที่เขียนแล้วในสเปรดชีต เช่น Excel คุณอาจรู้จักสูตรทางด้านซ้ายจะส่งผลทางด้านขวาเมื่อคํานวณแล้ว:
ใน M นิพจน์สามารถอ้างอิงนิพจน์ก่อนหน้าตามชื่อ และกระบวนการประเมินผลจะกําหนดลําดับที่มีการคํานวณนิพจน์ที่อ้างอิงโดยอัตโนมัติ
ลองใช้ระเบียนเพื่อสร้างนิพจน์ซึ่งเทียบเท่ากับตัวอย่างสเปรดชีตข้างต้น เมื่อเริ่มต้นค่าของเขตข้อมูล คุณจะอ้างอิงไปยังเขตข้อมูลอื่นภายในเรกคอร์ดตามชื่อของเขตข้อมูลดังนี้:
[
A1 = A2 * 2,
A2 = A3 + 1,
A3 = 1
]
นิพจน์ข้างต้นจะประเมินไปยังระเบียนต่อไปนี้:
[
A1 = 4,
A2 = 2,
A3 = 1
]
ระเบียนสามารถมีอยู่ภายใน หรือ ซ้อนกันภายในระเบียนอื่นได้ คุณสามารถใช้ตัว ดําเนินการ ค้นหา ([ ]) เพื่อเข้าถึงเขตข้อมูลของเรกคอร์ดตามชื่อได้ ตัวอย่างเช่น ระเบียนต่อไปนี้มีเขตข้อมูลที่ชื่อว่า ยอดขาย ที่มีระเบียน และเขตข้อมูลที่ชื่อ Total ที่เข้าถึงเขตข้อมูล FirstHalf และ SecondHalf ของระเบียนยอดขาย:
[
Sales = [ FirstHalf = 1000, SecondHalf = 1100 ],
Total = Sales[FirstHalf] + Sales[SecondHalf]
]
นิพจน์ข้างต้นจะประเมินไปยังระเบียนต่อไปนี้:
[
Sales = [ FirstHalf = 1000, SecondHalf = 1100 ],
Total = 2100
]
คุณใช้ตัว ดําเนินการ ดัชนีตําแหน่ง ({ }) เพื่อเข้าถึงหน่วยข้อมูลในรายการตามดัชนีตัวเลข ค่าภายในรายการจะถูกอ้างอิงโดยใช้ดัชนีที่ยึดตามศูนย์จากจุดเริ่มต้นของรายการ ตัวอย่างเช่น มีการใช้ดัชนี 0 และ 1 เพื่ออ้างอิงหน่วยข้อมูลที่หนึ่งและสองในรายการด้านล่าง:
[
Sales =
{
[
Year = 2007,
FirstHalf = 1000,
SecondHalf = 1100,
Total = FirstHalf + SecondHalf // equals 2100
],
[
Year = 2008,
FirstHalf = 1200,
SecondHalf = 1300,
Total = FirstHalf + SecondHalf // equals 2500
]
},
#"Total Sales" = Sales{0}[Total] + Sales{1}[Total] // equals 4600
]
การประเมินผลขี้เกียจและกระตือรือร้น
นิพจน์สมาชิกของ รายการ, เรกคอร์ด และ ตาราง รวมถึงนิพจน์ let (ไปยังนิพจน์ ค่า และนิพจน์ let) จะถูกประเมินโดยใช้การประเมินผลที่ขี้เกียจ นั่นคือพวกเขาจะถูกประเมินเมื่อจําเป็น นิพจน์อื่น ๆ ทั้งหมดจะถูกประเมินโดยใช้ การประเมินผลกระตือรือร้น นั่นคือพวกเขาจะถูกประเมินทันทีเมื่อพบในระหว่างกระบวนการประเมินผล วิธีการที่ดีอีกวิธีหนึ่งคือ จดจําว่าการประเมินรายการหรือนิพจน์เรกคอร์ดจะแสดงรายการหรือค่าเรกคอร์ดที่ทราบว่าจําเป็นต้องคํานวณเขตข้อมูลเรกคอร์ดหรือหน่วยข้อมูลของรายการอย่างไร เมื่อได้รับคําขอ (โดยตัวดําเนินการค้นหาหรือดัชนี)