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 o 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 altă valoare, luați în considerare crearea unei funcții particularizate, apoi invocarea funcției acolo unde și atunci 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 descrise î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).
Crearea și invocarea unei funcții particularizate simple cu Editorul avansat
Acesta este un exemplu simplu de funcție particularizată care urmează o tradiție de programare de lungă durată.
Pentru a crea o interogare necompletată:
Excel Selectare date>Preluare date>din alte surse>Interogare necompletată.
Power Query Faceți clic dreapta pe un loc gol din panoul Interogări din stânga, apoi selectați Interogare nouă Interogare> dinalte 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 interogarea nouă, apoi selectați HomeEditor>avansat.
Înlocuiți codul de început al șablonului cu următorul cod:
let
HelloWorld = () => ("Hello World")
in
HelloWorldSelectați Terminat.
Ați modificat interogarea "HelloWorld" într-o funcție particularizată. Observați pictograma de funcție
din partea stângă a acesteia.Pentru a invoca funcția, selectați-o, apoi selectați Invocare în Previzualizare date.
Rezultatele funcției sunt afișate în Previzualizare date și sunt adăugate în panoul Interogări ca interogare cu numele implicit, Funcție invocată. Poate doriți să îl redenumiți în ceva mai relevant, cum ar fi "RezultatSalutLume".
Selectați acea interogare, apoi selectați Pornire>Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultatele
Creați și invocați o funcție particularizată care are un parametru cu Editorul avansat
Următorul exemplu arată cum se transmite un parametru unei funcții particularizate pentru a efectua conversia unui număr din zecimal în hexazecimal.
Pentru a crea o interogare necompletată:
Excel Selectare date>Preluare date>din alte surse>Interogare necompletată.
Power Query Faceți clic dreapta pe un loc gol din panoul Interogări din stânga, apoi selectați Interogare nouă Interogare> dinalte surse>Interogare necompletată.
În panoul Interogări din stânga, redenumiți noua interogare necompletată în "HexacelaMea".
Selectați interogarea nouă, apoi selectați HomeEditor>avansat.
Înlocuiți codul de început al șablonului cu următorul cod:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexSelectați Terminat.
Ați modificat interogarea "MyHex", într-o funcție particularizată. Observați pictograma de funcție
din partea stângă a 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 Previzualizare date și adăugate în panoul Interogări ca interogare cu numele implicit, Funcție invocată. Poate doriți să îl redenumiți cu ceva mai relevant, cum ar fi "RezultatulMeu hexadecimal".
Selectați acea interogare, apoi selectați Pornire>Închidere & Încărcare pentru a vedea rezultatele într-o foaie de lucru.
Rezultatele
Adăugarea unei coloane prin invocarea unei funcții particularizate
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 Editare interogare>. 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țiune, Creați și invocați o funcție particularizată care are un parametru cu Editorul avansat.
În interogare, selectați Adăugare coloană>Invocare funcție particularizată. Se afișează caseta de dialog Invocare funcție particularizată .
Introduceți noul nume de coloană, cum ar fi "Conversie hex", în caseta Nume coloană nouă .
Selectați numele unei funcții particularizate predefinite din lista verticală Interogarea funcției. În acest exemplu, selectați "Hexadecimal".
Deoarece funcția particularizată face referire la un parametru, parametrul este afișat acum.
Selectați o coloană cu un tip de date Număr întreg ca parametru al funcției.
Selectați OK.
Rezultat
Se creează o nouă coloană care afișează valoarea hexazecimală a coloanei Număr întreg pe care l-ați introdus ca parametru.
Consultați și
Ajutor Power Query pentru Excel
Crearea de formule Power Query în Excel
Crearea unei interogări cu parametri