O funcție particularizată utilizează limbajul pentru formule 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, gândiți-vă să creați o funcție particularizată și apoi să invocați funcția acolo unde și când aveți nevoie de ea. Există mai multe modalități de a crea o funcție particularizată:
-
Utilizați Editorul complex pentru a adăuga propria insistție de permitere și a porni de la zero.
-
Utilizați comanda Invoke Custom Function.
-
Există modalități suplimentare de a crea funcții care nu sunt 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).
Următorul este un exemplu simplu de funcție particularizată care respectă programarea îndelungată.
-
Pentru a crea o interogare
necompletată: Excel Selectare date> Get Data > From Other Sources > Blank Query. Power Query Faceți clic dreapta pe o loc necompletată din panoul Interogări din stânga, apoi selectați Interogare nouă > Alte >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 complex.
-
Înlocuiți codul de început al șablonului cu următorul cod:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Selectați Gata.
-
Ați modificat interogarea, "Lume Salut", într-o funcție particularizată. Observați că pictograma funcției în partea stângă a acesteia.
-
Pentru a apela funcția, selectați-o și apoi selectați Invoke în Data Preview.
-
Rezultatele funcției sunt afișate în previzualizarea datelor și adăugate la panoul Interogări ca interogare cu numele implicit, Funcția Revocat. Poate doriți să o redenumiți cu ceva mai relevant, cum ar fi "HelloWorldResult".
-
Selectați interogarea, apoi selectați Pornire > Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultate
Următorul exemplu vă arată cum să treceți un parametru la o funcție particularizată pentru a efectua conversia unui număr din sistem zecimal în hexazecimal.
-
Pentru a crea o interogare
necompletată: Excel Selectare date> Get Data > From Other Sources > Blank Query. Power Query Faceți clic dreapta pe o loc necompletată din panoul Interogări din stânga, apoi selectați Interogare nouă > Alte >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 complex.
-
Înlocuiți codul de început al șablonului cu următorul cod:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Selectați Gata.
-
Ați modificat interogarea, "MyHex", într-o funcție particularizată. Observați că pictograma funcției în partea stângă a acesteia.
-
Pentru a apela funcția, selectați-o, apoi, în Previzualizare date, introduceți un număr în caseta cu parametri1 și selectați Invoke.
-
Rezultatele funcției sunt afișate în Previzualizare date și adăugate la panoul Interogări ca interogare cu numele implicit, Funcție revocată. Poate doriți să-l redenumiți cu un nume mai relevant, cum ar fi "MyHexResult".
-
Selectați interogarea, apoi selectați Pornire > Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultate
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 Editorul 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ă a unui tip de date Număr întreg.
-
Creați funcția particularizată "MyHex", așa cum este explicat în secțiune, Crearea și invocarea unei funcții particularizate care are un parametru cu Editorul complex.
-
În interogare, selectați Adăugare coloană >Invoke Custom Function. Apare caseta de dialog Invoke Custom Function.
-
Introduceți numele nou al coloanei, 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, se afișează parametrul.
-
Selectați o coloană a unui 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
Crearea de formule Power Query în Excel
Crearea unei interogări cu parametri