Az egyéni függvények az M képletnyelvet használják, bemeneti értékhalmazt vesz fel, majd egyetlen kimeneti értéket ad vissza. Ha van olyan logikája, hogy többször is fel szeretné használni, vagy ugyanazt az átalakítást egy másik lekérdezésre vagy értékre szeretné alkalmazni, célszerű létrehozni egy egyéni függvényt, majd megírni a függvényt, ahol és amikor szüksége van rá. Az egyéni függvények számos módon létrehozhatóak:
-
A Speciális szerkesztővel saját "let" utasítást adhat hozzá, és nulláról kezdheti a kezdést.
-
Használja az Invoke Custom Function parancsot.
-
A súgótémakörben nem tárgyalt függvények létrehozására további módszerek is vannak, például a Függvény létrehozása és a Hozzáadás lekérdezésként parancs. Részletes tudnivalókért lásd: A Power Query M függvényének ismertetése (docs.com)és Egyéni függvények használata (docs.com).
Az alábbiakban egy egyszerű példa egy egyéni függvényre, amely hosszú ideig tartó programozási ismereteket követ.
-
Üres lekérdezés létrehozásához: Excel lekérdezés> Lekérdezés > adatforrásból >
lehetőséget. Power Query Kattintson a jobb gombbal a bal oldalon a Lekérdezések panel üres útjára, és válassza az Új lekérdezés >gombra > Lekérdezés lehetőséget. -
A bal oldali Lekérdezések ablaktáblában kattintson duplán a névre, majd nevezze át az új üres lekérdezést "HelloWorld" névre.
-
Jelölje ki az új lekérdezést, majd válassza a Kezdőlap> Speciális szerkesztő lehetőséget.
-
Cserélje le a sablon alapkódját a következő kódra:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Válassza a Kész lehetőséget.
-
Egyéni függvényre módosította a "HelloWorld" lekérdezést. Figyelje meg, a függvény ikonja látható a bal oldalon.
-
A függvény meghíváshoz jelölje ki, majd válassza az Invoke in Data Preview (Meghívás az adatelőnézetben) lehetőséget.
-
A függvény eredményei megjelennek az Adatbetekintő nézetben, és az Alapértelmezett nevű Invoked függvény nevű lekérdezésként jelennek meg a Lekérdezések munkaablakban. Érdemes lehet átnevezni valami kifejezőbbre, például a "HelloWorldResult" névre.
-
Jelölje ki a lekérdezést, majd válassza a Kezdőlap > Bezárás &, hogy az eredmények egy munkalapon is láthatóak.
Eredmények
Az alábbi példa azt mutatja be, hogy miként adhatja át a paramétert egy egyéni függvénynek egy decimális szám hexadecimálisra konvertálása érdekében.
-
Üres lekérdezés létrehozásához: Excel lekérdezés> Lekérdezés > adatforrásból >
lehetőséget. Power Query Kattintson a jobb gombbal a bal oldalon a Lekérdezések panel üres útjára, és válassza az Új lekérdezés >gombra > Lekérdezés lehetőséget. -
A bal oldali Lekérdezések ablaktáblában nevezze át az új üres lekérdezést "MyHex" névre.
-
Jelölje ki az új lekérdezést, majd válassza a Kezdőlap> Speciális szerkesztő lehetőséget.
-
Cserélje le a sablon alapkódját a következő kódra:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Válassza a Kész lehetőséget.
-
Módosította a "MyHex" lekérdezést egyéni függvényre. Figyelje meg, a függvény ikonja látható a bal oldalon.
-
A függvény meghíváshoz jelölje ki, majd az Adatbetekintőben írjon be egy számot a paraméter1 mezőbe, és válassza az Invoke lehetőséget.
-
A függvény eredményei megjelennek az Adatbetekintőben, és a Lekérdezések ablaktáblához kerülnek, az alapértelmezett nevű, Invoked függvény nevű lekérdezésként. Érdemes lehet átnevezni valami kifejezőbbre, például a "MyHexResult" névre.
-
Jelölje ki a lekérdezést, majd válassza a Kezdőlap > Bezárás &, hogy az eredmények egy munkalapon is láthatóak.
Eredmények
Ha legalább egy paraméterrel létrehozott egy függvényt, akkor azt egyéni függvényként meghívva új oszlopot és új értéket hozhat létre a táblázat minden egyes sorához.
-
Lekérdezés megnyitásához keresse meg a Power Query szerkesztőből korábban betöltött lekérdezést, jelöljön ki egy cellát az adatokban, majd válassza a Lekérdezés és> gombra. További információt a Lekérdezés létrehozása, szerkesztése és betöltése a Power Query Excel (Power Query)ban. Megjegyzés Ebben a példában a lekérdezésnek legalább egy egész szám adattípusú oszlopra van szüksége.
-
Hozza létre a "MyHex" egyéni függvényt a Speciális szerkesztővel paraméterrel megadott egyéni függvény létrehozása és meghívása című szakaszban leírtak szerint.
-
A lekérdezésben válassza az Oszlop hozzáadása > Egyéni függvény meghívása lehetőséget. Megjelenik az Egyéni függvény meghívása párbeszédpanel.
-
Írja be az új oszlop nevét (például HexConvert) az Új oszlop neve mezőbe.
-
Válassza ki egy előre definiált egyéni függvény nevét a Függvénylekérdezés legördülő menüből. Ebben a példában válassza a "MyHex" lehetőséget.
-
Mivel az egyéni függvény paraméterre hivatkozik, a paraméter most már megjelenik.
-
A függvény paramétereként jelöljön ki egy egész szám adattípusú oszlopot.
-
Válassza az OK gombot.
Eredmény
Létrejön egy új oszlop, amely a paraméterként beírt Egész szám oszlop hexadecimális értékét jeleníti meg.
Lásd még
Power Query-képletek létrehozása a Excel
Paraméteres lekérdezés létrehozása