O funcție particularizată utilizează limbajul formulei M, preia un set de valori de intrare, apoi returnează o singură valoare de ieșire. Dacă aveți logică pe care doriți să o reutilizați de mai multe ori sau să aplicați același set de transformări la o altă interogare sau valoare, luați în considerare crearea unei funcții particularizate și invocarea funcției unde și când aveți nevoie de ea. Există mai multe modalități de a crea o funcție particularizată:
-
Utilizați Editor avansat pentru a adăuga propria instrucțiune let și a începe de la zero.
-
Utilizați comanda Invocare funcție particularizată .
-
Există modalități suplimentare de a crea funcții care nu au fost discutate în acest subiect de ajutor, inclusiv comenzile Creare funcție și Adăugare ca interogare . Pentru o discuție detaliată, consultați Înțelegerea funcțiilor Power Query M (docs.com)și Utilizarea funcțiilor particularizate (docs.com).
În continuare este un simplu exemplu de o funcție particularizată care urmează o tradiție îndelungată de programare.
-
Pentru a crea o interogare necompletată:
Excel Selectați Date > Obțineți > de datedin alte surse > Interogare necompletată. Power Query Faceți clic dreapta pe un loc necompletat din panoul Interogări din stânga, apoi selectați Interogare nouă > Alte surse > Interogare necompletată. -
În panoul Interogări din stânga, faceți dublu clic pe nume, apoi redenumiți noua interogare necompletată în "HelloWorld".
-
Selectați noua interogare, apoi selectați Pornire > Editor avansat.
-
Înlocuiți codul starter al șablonului cu următorul cod:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Selectați Terminat.
-
Ați schimbat interogarea, "HelloWorld", într-o funcție particularizată. Rețineți pictograma funcției
la stânga acesteia. -
Pentru a invoca funcția, selectați-o, apoi selectați Invocare în Examinare date.
-
Rezultatele funcției sunt afișate în Examinare date și adăugate la panoul Interogări ca interogare cu numele implicit, Funcția invocată. Se recomandă să îl redenumiți cu ceva mai semnificativ, cum ar fi "HelloWorldResult".
-
Selectați acea interogare, apoi selectați Pornire > Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultatele
Următorul exemplu arată cum să transmiteți un parametru unei funcții particularizate pentru a efectua conversia unui număr din sistem zecimal în sistem hexazecimal.
-
Pentru a crea o interogare necompletată:
Excel Selectați Date > Obțineți > de datedin alte surse > Interogare necompletată. Power Query Faceți clic dreapta pe un loc necompletat din panoul Interogări din stânga, apoi selectați Interogare nouă > Alte surse > Interogare necompletată. -
În panoul Interogări din stânga, redenumiți noua interogare necompletată în "MyHex".
-
Selectați noua interogare, apoi selectați Pornire > Editor avansat.
-
Înlocuiți codul starter al șablonului cu următorul cod:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Selectați Terminat.
-
Ați modificat interogarea, "MyHex", într-o funcție particularizată. Rețineți pictograma funcției
la stânga acesteia. -
Pentru a invoca funcția, selectați-o, apoi, în Examinare date, introduceți un număr în caseta parametru1 și selectați Invocare.
-
Rezultatele funcției sunt afișate în Examinare date și adăugate la panoul Interogări ca interogare cu numele implicit, Funcția invocată. Se recomandă să îl redenumiți cu ceva mai semnificativ, cum ar fi "MyHexResult".
-
Selectați acea interogare, apoi selectați Pornire > Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultatele
Dacă ați creat o funcție cu cel puțin un parametru, o puteți invoca ca funcție particularizată pentru a crea o coloană nouă și o valoare nouă pentru fiecare rând dintr-un tabel.
-
Pentru a deschide o interogare, găsiți una încărcată anterior din Editor Power Query, selectați o celulă din date, apoi selectați Interogare > Editare. Pentru mai multe informații, consultați Crearea, editarea și încărcarea unei interogări în Excel (Power Query). Notă Pentru acest exemplu, interogarea are nevoie de cel puțin o coloană cu tipul de date Număr întreg .
-
Creați funcția particularizată "MyHex", așa cum este explicat în secțiunea Crearea și invocarea unei funcții particularizate care are un parametru cu Editor avansat.
-
În interogare, selectați Adăugare coloană > Invocare funcție particularizată. Apare caseta de dialog Invocare funcție particularizată .
-
Introduceți noul nume de coloană, cum ar fi "HexConvert", în caseta Nume nou de coloană .
-
Selectați numele unei funcții particularizate predefinite din lista verticală Interogare funcție. În acest exemplu, selectați "MyHex".
-
Deoarece funcția particularizată face referire la un parametru, parametrul se afișează acum.
-
Selectați o coloană cu un tip de date Număr întreg ca parametru pentru funcție.
-
Selectați OK.
Rezultat
Se creează o coloană nouă care afișează valoarea hexazecimală a coloanei Număr întreg pe care ați introdus-o ca parametru.
Consultați și
Ajutor Power Query pentru Excel
Crearea de formule Power Query în Excel
Crearea unei interogări cu parametri