Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Power Query M képletnyelvi lekérdezése képletkifejezési lépésekből áll, amelyek összefésítési lekérdezést hoznak létre. A képletkifejezések kiértékelhetők (kiszámíthatók), és értéket eredményeznek. A Let kifejezés összefogja a kiszámítandó értékek készletét, hozzárendelt neveket, majd egy későbbi kifejezésben, amely követi az in utasítást . Egy let kifejezés tartalmazhat például egy Forrás változót, amely megegyezik a Text.Proper értékével, és megfelelő esetben szöveges értéket ad meg.
Kifejezés hagyása
let
Source = Text.Proper("hello world")
in
Source
A fenti Text.Proper("hello world")
példában a kiértékelés eredménye a következő lesz "Hello World"
: .
A következő szakaszok a nyelv értéktípusait ismertetik.
Primitív érték
A primitív érték egyrészes érték, például szám, logikai, szöveg vagy null. Az adatok hiányának jelzésére null érték használható.
Típus | Példaérték |
---|---|
Bináris | 00 00 00 02 pontszám (2) |
Dátum | 5/23/2015 |
Dátum/idő | 2015.05.23. 12:00:00 |
DateTimeZone | 2015.05.23. 12:00:00 -08:00 |
Időtartam | 15:35:00 |
Logikai | igaz és hamis |
Null | null |
Szám | 0, 1, -1, 1,5 és 2,3e-5 |
Szöveg | "abc" |
Idő | 12:34:12 |
Függvény értéke
A függvény olyan érték, amely argumentumokkal meghívva új értéket hoz létre. A függvények a függvény paramétereinek zárójelben való felsorolásával, majd az =>ugrás szimbólummal, majd a függvényt meghatározó kifejezéssel íródnak. Például egy MyFunction nevű függvény létrehozásához, amely két paraméterrel rendelkezik, és számítást hajt végre az 1. és a 2. paraméteren:
let
MyFunction = (parameter1, parameter2) => (parameter1 + parameter2) / 2
in
MyFunction
A MyFunction meghívása az eredményt adja vissza:
let
Source = MyFunction(2, 4)
in
Source
Ez a kód a 3 értéket állítja elő.
Strukturált adatértékek
Az M nyelv a következő strukturált adatértékeket támogatja:
Feljegyzés
A strukturált adatok bármilyen M értéket tartalmazhatnak. Néhány példa megtekintéséhez lépjen a további strukturált adatokra vonatkozó példákra.
Lista
A lista egy kapcsos zárójelkarakterekbe foglalt értékek nullaalapú rendezett sorozata { }. A kapcsos zárójelek { } karakterekkel is lekérhet egy elemet egy listából indexpozíció alapján. További információ: Listaértékek.
Feljegyzés
A Power Query M támogatja a végtelen listaméretet, de ha egy lista literálként van megírva, a lista rögzített hosszúságú. {1, 2, 3} például rögzített hossza 3.
Az alábbiakban felsorolunk néhány példát.
Érték | Típus |
---|---|
{123, true, "A"} | Számot, logikait és szöveget tartalmazó lista. |
{1, 2, 3} | Számok listája |
{ {1, 2, 3}, {4, 5, 6} } |
Számok listája |
{ [CustomerID = 1, Name = "Bob", Phone = "123-4567"], [CustomerID = 2, Name = "Jim", Phone = "987-6543"] } |
Rekordok listája |
{123, true, "A"}{0} | Lekérheti a lista első elemének értékét. Ez a kifejezés a 123 értéket adja vissza. |
{ {1, 2, 3}, {4, 5, 6} }{0}{1} |
Kérje le a második elem értékét az első Lista elemből. Ez a kifejezés a 2 értéket adja vissza. |
Rögzítés
A rekord mezőkészlet. A mező egy név/érték pár, ahol a név egy olyan szöveges érték, amely egyedi a mező rekordjában. A rekordértékek szintaxisa lehetővé teszi a nevek idézőjelek nélküli írását, egy más néven azonosítóként is ismert űrlapot. Az azonosítók a következő két űrlapot használhatják:
identifier_name, például Az OrderID.
#"azonosító neve", például #"A mai adatok a következők: ".
Az alábbi rekord az "OrderID", "CustomerID", "Item" és "Price" nevű mezőket tartalmazza 1, 1, "Horgászbot" és 100.00 értékekkel. A szögletes zárójelek [] egy rekordkifejezés elejét és végét jelölik, és egy rekord mezőértékének lekérésére szolgálnak. Az alábbi példák egy rekordot és az Elem mező értékének lekérését mutatják be.
Íme egy példarekord:
let Source =
[
OrderID = 1,
CustomerID = 1,
Item = "Fishing rod",
Price = 100.00
]
in Source
Egy Elem értékének lekéréséhez szögletes zárójeleket Source[Item]
használ:
let Source =
[
OrderID = 1,
CustomerID = 1,
Item = "Fishing rod",
Price = 100.00
]
in Source[Item] //equals "Fishing rod"
Tábla
A táblázat nevesített oszlopokba és sorokba rendezett értékek halmaza. Az oszloptípus lehet implicit vagy explicit. A #table használatával létrehozhatja az oszlopnevek és a sorok listáját. Az értéktáblázatok listaként szerepelnek a listában. A kapcsos kapcsos zárójelek {} karakterekkel is lekérhetők egy sor egy táblázatból indexpozíció szerint (ugrás a 3. példára – Sor lekérése táblázatból indexpozíció alapján).
1. példa – Táblázat létrehozása implicit oszloptípusokkal
let
Source = #table(
{"OrderID", "CustomerID", "Item", "Price"},
{
{1, 1, "Fishing rod", 100.00},
{2, 1, "1 lb. worms", 5.00}
})
in
Source
2. példa – Tábla létrehozása explicit oszloptípusokkal
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
Mindkét előző példa létrehoz egy táblázatot a következő alakzattal:
OrderID | CustomerID (Ügyfél azonosítója) | Elem | Ár |
---|---|---|---|
0 | 0 | Horgászbot | 100,00 |
2 | 0 | 1 lb. férgek | 5,00 |
3. példa – Sor lekérése táblázatból indexpozíció szerint
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}
Ez a kifejezés a következő rekordot adja vissza:
Mező | Érték |
---|---|
OrderID | 2 |
Ügyfélazonosító | 0 |
Cikk | 1 lb. férgek |
Ár | 5 |
További strukturált adat példák
A strukturált adatok bármilyen M értéket tartalmazhatnak. Íme néhány példa:
1. példa – Lista [Primitív](#_Primitive_value_1) értékekkel, [Függvény](#_Function_value) és [Rekord](#_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
A kifejezés kiértékelése a következőképpen jeleníthető meg:
2. példa – Primitív értékeket és beágyazott rekordokat tartalmazó rekord
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
A kifejezés kiértékelése a következőképpen jeleníthető meg:
Feljegyzés
Bár számos érték szó szerint is írható kifejezésként, az érték nem kifejezés. Az 1 kifejezés például az 1 értéket értékeli ki; az 1+1 kifejezés a 2 értéket értékeli ki. Ez a különbség finom, de fontos. A kifejezések kiértékelési receptek; értékek a kiértékelés eredményei.
Ha kifejezés
A ha kifejezés két kifejezés között választ egy logikai feltétel alapján. Példa:
if 2 > 1 then
2 + 2
else
1 + 1
Az első kifejezés (2 + 2) ki van jelölve, ha a logikai kifejezés (2 > 1) igaz, és a második kifejezés (1 + 1) van kiválasztva, ha hamis. A kiválasztott kifejezés (ebben az esetben a 2 + 2) kiértékelése és az if kifejezés (4) eredménye lesz.