Az egyéni függvények az M képletnyelvet használják, bemeneti értékek készletét használják, majd egyetlen kimeneti értéket ad vissza. Ha olyan logikával rendelkezik, amelyet sokszor szeretne újra felhasználni, vagy ugyanazt az átalakításkészletet egy másik lekérdezésre vagy értékre szeretné alkalmazni, érdemes lehet létrehozni egy egyéni függvényt, majd a függvényt arra kérni, hogy hol és mikor van rá szüksége. Egyéni függvények többféleképpen hozhatók létre:
-
A Speciális szerkesztő a saját Let utasítás hozzáadásához és az alapoktól való kezdéshez használhatja.
-
Használja az Egyéni függvény meghívása parancsot.
-
A jelen súgótémakörben nem tárgyalt függvények létrehozásának további módjai is vannak, például a Függvény létrehozása és a Hozzáadás lekérdezésként parancs. Részletes ismertetésért lásd: Az Power Query M függvények (docs.com)és az egyéni függvények használata (docs.com).
Az alábbiakban egy egyszerű példa látható egy olyan egyéni függvényre, amely egy hosszú távú programozási hagyományt követ.
-
Üres lekérdezés létrehozása:
Az Excel Adatok kijelölése> Adatok lekérése > más forrásokból > üres lekérdezés. Power Query kattintson a jobb gombbal egy üres pontra a bal oldali Lekérdezések panelen, majd válassza az Új lekérdezés > Egyéb források > az Üres lekérdezés lehetőséget. -
A bal oldali Lekérdezések panelen kattintson duplán a névre, majd nevezze át az új üres lekérdezést "HelloWorld" névre.
-
Válassza ki az új lekérdezést, majd válassza a Kezdőlap > Speciális szerkesztő lehetőséget.
-
Cserélje le a sablon kezdőkódját a következő kódra:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Válassza a Kész lehetőséget.
-
A "HelloWorld" lekérdezést egyéni függvényre módosította. Figyelje meg a függvény ikonját,
a bal oldalán. -
A függvény meghívásához jelölje ki, majd válassza a Meghívás az adatelőnézetben lehetőséget.
-
A függvény eredményei megjelennek az Adatelőnézetben, és a Lekérdezések panelre kerülnek az alapértelmezett nevű , Meghívt függvény nevű lekérdezésként. Érdemes lehet átnevezni valami értelmesebb névre, például a "HelloWorldResult" névre.
-
Jelölje ki a lekérdezést, majd válassza a Kezdőlap > Bezárás & Betöltés lehetőséget az eredmények munkalapon való megtekintéséhez.
Eredmények
Az alábbi példa bemutatja, hogyan adhat át egy paramétert egy egyéni függvénynek a decimális szám hexadecimálissá konvertálásához.
-
Üres lekérdezés létrehozása:
Az Excel Adatok kijelölése> Adatok lekérése > más forrásokból > üres lekérdezés. Power Query kattintson a jobb gombbal egy üres pontra a bal oldali Lekérdezések panelen, majd válassza az Új lekérdezés > Egyéb források > az Üres lekérdezés lehetőséget. -
A bal oldali Lekérdezések panelen nevezze át az új üres lekérdezést "MyHex" névre.
-
Válassza ki az új lekérdezést, majd válassza a Kezdőlap > Speciális szerkesztő lehetőséget.
-
Cserélje le a sablon kezdőkódját a következő kódra:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Válassza a Kész lehetőséget.
-
A "MyHex" lekérdezést egyéni függvényre módosította. Figyelje meg a függvény ikonját,
a bal oldalán. -
A függvény meghívásához jelölje ki, majd az Adatelőnézetben írjon be egy számot a parameter1 mezőbe, és válassza a Meghívás lehetőséget.
-
A függvény eredményei az Adatelőnézetben jelennek meg, és a Lekérdezések panelre kerülnek az alapértelmezett , Meghívt függvény nevű lekérdezésként. Érdemes lehet átnevezni valami értelmesebb névre, például a "MyHexResult" névre.
-
Jelölje ki a lekérdezést, majd válassza a Kezdőlap > Bezárás & Betöltés lehetőséget az eredmények munkalapon való megtekintéséhez.
Eredmények
Ha létrehozott egy függvényt legalább egy paraméterrel, meghívhatja egyéni függvényként, hogy új oszlopot és új értéket hozzon létre a tábla minden sorához.
-
Lekérdezés megnyitásához keresse meg a Power Query-szerkesztő korábban betöltöttet, jelöljön ki egy cellát az adatokban, majd válassza a Lekérdezés > Szerkesztés lehetőséget. További információ: Lekérdezés létrehozása, szerkesztése és betöltése az Excelben (Power Query). Jegyzet Ebben a példában a lekérdezéshez legalább egy Egész szám adattípusú oszlopra van szükség.
-
Hozza létre a "MyHex" egyéni függvényt a Create and invoke a custom function that has a parameter with the Speciális szerkesztő (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ő listából. Ebben a példában válassza a "MyHex" lehetőséget.
-
Mivel az egyéni függvény egy paraméterre hivatkozik, a paraméter most már megjelenik.
-
Jelöljön ki egy Egész szám adattípusú oszlopot a függvény paramétereként.
-
Kattintson az OK gombra.
Eredmény
Létrejön egy új oszlop, amely a paraméterként megadott Egész szám oszlop hexadecimális értékét jeleníti meg.
Lásd még
Excelhez készült Microsoft Power Query – súgó
Power Query-képletek létrehozása az Excelben
Paraméteres lekérdezés létrehozása