Megosztás a következőn keresztül:


Átalakítási függvények a Power Queryben az adatátalakításhoz

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

A Data Wrangling az Azure Data Factoryben lehetővé teszi a kód nélküli agilis adatelőkészítést és a felhőbeli szintű skálázást a Power Query-szkriptek M Adatfolyam szkriptekké való fordításával. Az ADF integrálható a Power Query Online-nal, és elérhetővé teszi a Power Query-függvényeket M az adatfolyam Spark-infrastruktúra használatával történő adatátszervezéshez.

Jelenleg nem minden Power Query M-függvény támogatott az adatkonvergáláshoz annak ellenére, hogy a létrehozás során elérhető. Az összefésült adatok létrehozásakor a rendszer a következő hibaüzenetet fogja kérni, ha egy függvény nem támogatott:

UserQuery : Expression.Error: The transformation logic is not supported as it requires dynamic access to rows of data, which cannot be scaled out.

Az alábbiakban a támogatott Power Query M-függvények listája látható.

Oszlopkezelés

Sorszűrés

Az M függvény Table.SelectRows használatával a következő feltételekre szűrhet:

  • Egyenlőség és egyenlőtlenség
  • Numerikus, szöveges és dátum-összehasonlítások (de a DateTime nem)
  • Numerikus adatok, például Szám.IsEven/Páratlan
  • Szöveg elszigetelése a Text.Contains, a Text.StartsWith vagy a Text.EndsWith használatával
  • Dátumtartományok, beleértve az összes "IsIn" dátumfüggvényt)
  • Ezek kombinációi feltételek használatával és vagy nem

Oszlopok hozzáadása és átalakítása

A következő M függvények oszlopokat adnak hozzá vagy alakítanak át: Table.AddColumn, Table.TransformColumns, Table.ReplaceValue, Table.DuplicateColumn. Az alábbiakban a támogatott átalakítási függvények találhatók.

Táblák egyesítése/összekapcsolása

  • A Power Query beágyazott illesztéseket hoz létre (Table.NestedJoin; a felhasználók manuálisan is írhatnak Table.AddJoinColumn). A felhasználóknak ezután a beágyazott illesztés oszlopát nem beágyazott illesztéssé kell bontaniük (Table.ExpandTableColumn, más környezetben nem támogatott).
  • Az M függvény Table.Join közvetlenül írható, hogy ne legyen szükség további bővítési lépésre, de a felhasználónak gondoskodnia kell arról, hogy ne legyenek ismétlődő oszlopnevek az összekapcsolt táblák között
  • Támogatott illesztéstípusok: Inner, LeftOuter, RightOuter, FullOuter
  • A Value.Equals és a Value.NullableEquals is támogatott fő egyenlőség-összehasonlítóként

Csoportosítás szempontja:

Értékek összesítése a Table.Group használatával.

Rendezés

Értékek rendezése a Table.Sort használatával.

Sorok csökkentése

Felső érték megtartása és eltávolítása, Tartomány megtartása (megfelelő M függvények, csak támogató számok, nem feltételek: Table.FirstN, Table.Skip, Table.RemoveFirstN, Table.Range, Table.MinN, Table.MaxN)

Ismert nem támogatott függvények

Függvény Állapot
Table.PromoteHeaders Nem támogatott. Ugyanez az eredmény az adathalmaz "Első sor fejlécként" beállításával érhető el.
Table.CombineColumns Ez egy gyakori forgatókönyv, amely nem támogatott közvetlenül, de egy új oszlop hozzáadásával érhető el, amely két adott oszlopot fűz össze. Például Table.AddColumn(RemoveEmailColumn, "Name", each [FirstName] &" & [LastName])
Table.TransformColumnTypes Ez a legtöbb esetben támogatott. A következő forgatókönyvek nem támogatottak: sztring átalakítása pénznemtípusra, sztring időtípussá alakítása, sztring százalékos típussá alakítása és területi beállítással történő átalakítás.
Table.NestedJoin Az összekapcsolás csak ellenőrzési hibát eredményez. Az oszlopokat ki kell bontani ahhoz, hogy működjön.
Table.RemoveLastN Az alsó sorok eltávolítása nem támogatott.
Table.RowCount Nem támogatott, de az 1 értéket tartalmazó egyéni oszlop hozzáadásával, majd az oszlop list.sum értékkel való összesítésével érhető el. A Table.Group támogatott.
Sorszintű hibakezelés A sorszintű hibakezelés jelenleg nem támogatott. Ha például egy oszlopból szeretné kiszűrni a nem numerikus értékeket, az egyik módszer a szövegoszlop számmá alakítása. Minden olyan cella, amely nem tud átalakítást végrehajtani, hibaállapotban lesz, és szűrni kell. Ez a forgatókönyv a vertikálisan felskálázott M esetében nem lehetséges.
Table.Transzponálás Nem támogatott

M-szkript megkerülő megoldásai

SplitColumn

A hossz és a pozíció szerinti felosztás alternatívát az alábbiakban találja

  • Table.AddColumn(Source, "First characters", each Text.Start([Email], 7), type text)
  • Table.AddColumn(#"Inserted first characters", "Text range", each Text.Middle([Email], 4, 9), type text)

Ez a beállítás a menüszalag Kinyerés lehetőségéből érhető el

Power Query – Oszlop hozzáadása

Table.CombineColumns

  • Table.AddColumn(RemoveEmailColumn, "Name", each [FirstName] & " " & [LastName])

Forgócsapok

  • Válassza a Kimutatás átalakítás lehetőséget a PQ-szerkesztőből, és válassza ki a kimutatásoszlopot

Gyakori Power Query-kimutatás

  • Ezután válassza ki az érték oszlopot és az összesítő függvényt

Power Query Pivot Selector

  • Amikor az OK gombra kattint, a szerkesztőben megjelennek az adatok, és frissülnek a pivoted értékek
  • Figyelmeztető üzenet is jelenik meg arról, hogy az átalakítás nem támogatott
  • A figyelmeztetés kijavításához bontsa ki manuálisan a kimutatáslistát a PQ-szerkesztővel
  • Válassza Speciális szerkesztő lehetőséget a menüszalagon
  • A kimutatásértékek listájának manuális kibontása
  • Cserélje le a List.Distinct() elemet az alábbihoz hasonló értékek listájára:
#"Pivoted column" = Table.Pivot(Table.TransformColumnTypes(#"Changed column type 1", {{"genres", type text}}), {"Drama", "Horror", "Comedy", "Musical", "Documentary"}, "genres", "Rating", List.Average)
in
  #"Pivoted column"

Dátum-/időoszlopok formázása

A Power Query ADF használatakor a dátum/idő formátum beállításához kövesse ezeket a készleteket a formátum beállításához.

A Power Query változástípusa

  1. Jelölje ki az oszlopot a Power Query felhasználói felületén, és válassza a Típus módosítása dátum/idő lehetőséget >
  2. Figyelmeztető üzenet jelenik meg
  3. Nyissa meg a Speciális szerkesztő, és váltson TransformColumnTypes a gombraTransformColumns. Adja meg a formátumot és a kulturális környezetet a bemeneti adatok alapján.

Power Query-szerkesztő

#"Changed column type 1" = Table.TransformColumns(#"Duplicated column", {{"start - Copy", each DateTime.FromText(_, [Format = "yyyy-MM-dd HH:mm:ss", Culture = "en-us"]), type datetime}})

Megtudhatja, hogyan hozhat létre adatátrendező Power Queryt az ADF-ben.