หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
คิวรีของภาษาสูตร Power Query M ประกอบด้วยขั้นตอนนิพจน์สูตรที่สร้างคิวรีแบบผสมเข้าด้วยกัน สามารถประเมินนิพจน์สูตร (คํานวณ) ให้ส่งค่า กําหนด นิพจน์ จะย่อส่วนชุดของค่าที่จะคํานวณ ชื่อที่กําหนด และใช้ในนิพจน์ที่ตามมาที่อยู่ถัดจาก ในคําสั่ง ตัวอย่างเช่น กําหนดนิพจน์อาจประกอบด้วยตัวแปร Source ที่เท่ากับค่าของ Text.Proper และให้ผลลัพธ์เป็นค่าข้อความในกรณีที่เหมาะสม
กําหนดนิพจน์
let
Source = Text.Proper("hello world")
in
Source
ในตัวอย่างนี้ จะ Text.Proper("hello world") ประเมินเป็น "Hello World".
ส่วนถัดไปจะอธิบายชนิดของค่าในภาษา
ค่าดั้งเดิม
ค่าดั้งเดิมคือค่าส่วนเดียว เช่น , number, logicalหรือ textnull.
nullสามารถใช้ค่าเพื่อระบุว่าไม่มีข้อมูลใดๆ
| ขนิด | ค่าตัวอย่าง |
|---|---|
| ไบนารี | 00 00 00 02 // จํานวนคะแนน (2) |
| วันที่ | 5/23/2015 |
| Datetime | 5/23/2015 12:00:00 น. |
| โซนวันที่เวลา | 5/23/2015 12:00:00 น. -08:00 น. |
| ระยะเวลา | 15:35:00 |
| ตรรกะ | จริง และ เท็จ |
| Null | null |
| หมายเลข | 0, 1, -1, 1.5, และ 2.3e-5 |
| ข้อความ | "abc" |
| เวลา | 12:34:12 น. |
ค่าฟังก์ชัน
ฟังก์ชัน คือค่าที่ทําให้เกิดค่าใหม่ เมื่อเรียกใช้กับอาร์กิวเมนต์ ฟังก์ชันจะถูกเขียนโดยการแสดงรายการพารามิเตอร์ของฟังก์ชันในเครื่องหมายวงเล็บ ตามด้วยสัญลักษณ์ => และตามด้วยนิพจน์ที่กําหนดฟังก์ชัน ตัวอย่างเช่น เมื่อต้องการสร้างฟังก์ชันที่ชื่อว่า MyFunction ที่มีสองพารามิเตอร์ และดําเนินการคํานวณบน parameter1 และ parameter2
let
MyFunction = (parameter1, parameter2) => (parameter1 + parameter2) / 2
in
MyFunction
การ เรียกใช้ MyFunction จะส่งกลับผลลัพธ์:
let
Source = MyFunction(2, 4)
in
Source
รหัสนี้สร้างค่าของ 3
ค่าข้อมูลที่มีโครงสร้าง
ภาษา M สนับสนุนค่าข้อมูลที่มีโครงสร้างต่อไปนี้:
หมายเหตุ
ข้อมูลที่มีโครงสร้างสามารถมีค่า M ได้ หากต้องการดูตัวอย่างสองรายการ ให้ไปที่ ตัวอย่างข้อมูลที่มีโครงสร้างเพิ่มเติม
List
รายการ เป็นลําดับค่าที่มีการเรียงลําดับตามศูนย์ ซึ่งอยู่ในอักขระเครื่องหมายวงเล็บปีกกา { } นอกจากนี้ ยังมีการใช้อักขระเครื่องหมายวงเล็บปีกกา { } เพื่อดึงข้อมูลหน่วยข้อมูลจากรายการตามตําแหน่งดัชนี สําหรับข้อมูลเพิ่มเติม ให้ไปที่รายการค่า
หมายเหตุ
Power Query M สนับสนุนขนาดรายการที่ไม่จํากัด แต่ถ้ามีการเขียนรายการเป็นสัญพจน์ รายการดังกล่าวจะมีความยาวคงที่ ตัวอย่างเช่น {1, 2, 3} มีความยาวคงที่ของ 3
ต่อไปนี้คือตัวอย่างของ รายการ
| ค่า | ขนิด |
|---|---|
| {123, จริง, "A"} | รายการที่มีตัวเลข ตรรกะ และข้อความ |
| {1, 2, 3} | รายการตัวเลข |
| { {1, 2, 3}, {4, 5, 6} } |
รายการของรายการตัวเลข |
| { [CustomerID = 1, ชื่อ = "บ๊อบ", โทรศัพท์ = "123-4567"], [CustomerID = 2, ชื่อ = "จิม", โทรศัพท์ = "987-6543"] } |
รายการระเบียน |
| {123, จริง, "A"}{0} | รับค่าของหน่วยข้อมูลแรกในรายการ นิพจน์นี้แสดงค่า 123 |
| { {1, 2, 3}, {4, 5, 6} }{0}{1} |
รับค่าของหน่วยข้อมูลที่สองจากองค์ประกอบรายการแรก นิพจน์นี้แสดงค่า 2 |
บันทึก
ระเบียน คือชุดของเขตข้อมูล เขตข้อมูลคือคู่ชื่อ/ค่า โดยที่ชื่อเป็นค่าข้อความที่ไม่ซ้ํากันภายในเรกคอร์ดของเขตข้อมูล ไวยากรณ์สําหรับค่าเรกคอร์ดอนุญาตให้สามารถเขียนชื่อได้โดยไม่มีอัญประกาศ รูปแบบนี้ยังเรียกว่าเป็น ตัวระบุ อีกด้วย ตัวระบุสามารถใช้สองรูปแบบต่อไปนี้:
identifier_name เช่น OrderID
#"identifier name" เช่น #"Today's data is: "
ต่อไปนี้คือระเบียนที่มีเขตข้อมูลที่ชื่อว่า "OrderID", "CustomerID", "Item" และ "Price" ที่มีค่า 1, 1, "Fishing rod" และ 100.00 อักขระวงเล็บเหลี่ยม [ ] แสดงถึงจุดเริ่มต้นและจุดสิ้นสุดของนิพจน์ระเบียน และใช้เพื่อรับค่าเขตข้อมูลจากระเบียน ตัวอย่างต่อไปนี้แสดงเรกคอร์ดและวิธีการรับค่าเขตข้อมูลของหน่วยข้อมูล
ตัวอย่างระเบียนมีดังนี้:
let
Source =
[
OrderID = 1,
CustomerID = 1,
Item = "Fishing rod",
Price = 100.00
]
in
Source
เมื่อต้องการรับค่าของหน่วยข้อมูล คุณใช้เครื่องหมายวงเล็บสี่เหลี่ยมเป็น Source[Item]:
let Source =
[
OrderID = 1,
CustomerID = 1,
Item = "Fishing rod",
Price = 100.00
],
GetItem = Source[Item] //equals "Fishing rod"
in
GetItem
Table
ตาราง คือชุดของค่าที่จัดระเบียบเป็นคอลัมน์และแถวที่มีชื่อ ชนิดคอลัมน์อาจเป็นทางอ้อมหรือแบบชัดเจน คุณสามารถใช้ #table เพื่อสร้างรายการของชื่อคอลัมน์และรายการของแถวได้ ตารางของค่าคือ รายการ ใน รายการ นอกจากนี้ ยังมีการใช้อักขระเครื่องหมายวงเล็บปีกกา { } ในการดึงข้อมูลแถวจาก ตาราง ตามตําแหน่งดัชนี (ไปที่ ตัวอย่างที่ 3 - รับแถวจากตารางตามตําแหน่งดัชนี)
ตัวอย่างที่ 1 - สร้างตารางที่มีชนิดคอลัมน์ทางอ้อม
let
Source = #table(
{"OrderID", "CustomerID", "Item", "Price"},
{
{1, 1, "Fishing rod", 100.00},
{2, 1, "1 lb. worms", 5.00}
}
)
in
Source
ตัวอย่างที่ 2 - สร้างตารางที่มีชนิดคอลัมน์ทางอ้อม
let
Source = #table(
type table [OrderID = number, CustomerID = number, Item = text, Price = number],
{
{1, 1, "Fishing rod", 100.00},
{2, 1, "1 lb. worms", 5.00}
}
)
in
Source
ทั้งสองตัวอย่างก่อนหน้านี้จะสร้างตารางที่มีรูปร่างต่อไปนี้:
| orderID | รหัสลูกค้า (CustomerID) | รายการ | ราคา |
|---|---|---|---|
| 1 | 1 | คันเบ็ด | 100.00 |
| 2 | 1 | 1 ปอนด์ หนอน | 5.00 |
ตัวอย่างที่ 3 - รับแถวจากตารางตามตําแหน่งดัชนี
let
Source = #table(
type table [OrderID = number, CustomerID = number, Item = text, Price = number],
{
{1, 1, "Fishing rod", 100.00},
{2, 1, "1 lb. worms", 5.00}
}
)
in
Source{1}
นิพจน์นี้ส่งกลับระเบียนต่อไปนี้:
| ฟิลด์ | ค่า |
|---|---|
| OrderID | 2 |
| รหัสลูกค้า | 1 |
| สินค้า | 1 ปอนด์ หนอน |
| ราคา | 5 |
ตัวอย่างข้อมูลที่มีโครงสร้างเพิ่มเติม
ข้อมูลที่มีโครงสร้างสามารถมีค่า M ได้ ยกตัวอย่างเช่น
ตัวอย่างที่ 1 - รายการที่มีค่า [Primitive](#_Primitive_value_1), [Function](#_Function_value), และ [Record](#_Record_value)
let
Source =
{
1,
"Bob",
DateTime.ToText(DateTime.LocalNow(), "yyyy-MM-dd"),
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0]
}
in
Source
การประเมินนิพจน์นี้สามารถแสดงผลด้วยภาพเป็น:
ตัวอย่างที่ 2 - ระเบียนที่มีค่าดั้งเดิมและระเบียนแบบซ้อนกัน
let
Source = [CustomerID = 1, Name = "Bob", Phone = "123-4567", Orders =
{
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0]
}
]
in
Source
การประเมินนิพจน์นี้สามารถแสดงผลด้วยภาพเป็น:
หมายเหตุ
แม้ว่าคุณสามารถเขียนค่าจํานวนมากเป็นนิพจน์ได้อย่างแท้จริง แต่ค่าจะไม่ใช่นิพจน์ ตัวอย่างเช่น นิพจน์ 1 จะประเมินเป็นค่า 1 ตัวอย่างเช่น นิพจน์ 1 จะถูกประเมินเป็น 1 ถ้านิพจน์มีค่าเป็น 1 และจะประเมินเป็น 1 ถ้านิพจน์มีค่าเป็น 1 นิพจน์ 1+1 จะประเมินเป็นค่า 2 ความแตกต่างนี้จะละเอียดมาก แต่มีความสําคัญมาก นิพจน์เป็นสูตรสําหรับการประเมินผล ค่า คือผลลัพธ์ของการประเมิน
นิพจน์ ถ้า
นิพจน์ ถ้า จะเลือกระหว่างนิพจน์สองรายการโดยยึดตามเงื่อนไขตรรกะ ตัวอย่างเช่น:
if 2 > 1 then
2 + 2
else
1 + 1
นิพจน์แรก (2 + 2) จะถูกเลือกถ้านิพจน์ตรรกะ (2 > 1) เป็นจริง และนิพจน์ที่สอง (1 + 1) จะถูกเลือกหากเป็นเท็จ นิพจน์ที่เลือก (ในกรณีนี้ 2 + 2) จะได้รับการประเมิน และกลายเป็นผลลัพธ์ของ นิพจน์ ถ้า (4)