Una funzione personalizzata usa il linguaggio delle formule M, accetta un set di valori di input e quindi restituisce un singolo valore di output. Se si dispone di una logica che si desidera riutilizzare più volte o applicare lo stesso set di trasformazioni a una query o a un valore diverso, è consigliabile creare una funzione personalizzata e quindi richiamare la funzione dove e quando è necessario. Esistono diversi modi per creare una funzione personalizzata:
- Usa l'Editor avanzato per aggiungere la tua dichiarazione let e iniziare da zero.
- Usare il comando Richiama funzione personalizzata .
- Esistono altri modi per creare funzioni non illustrate in questo argomento della Guida, tra cui i comandi Crea funzione e Aggiungi come query . Per informazioni approfondite, vedere Informazioni sulle funzioni M di Power Query e Uso delle funzioni personalizzate.
Creare e richiamare una semplice funzione personalizzata con l'Editor avanzato
L'esempio seguente mostra una semplice funzione personalizzata che segue una lunga tradizione di programmazione.
Creare una query vuota:
Excel Selezione dei dati>Recupero dati>da altre origini>Query vuota.
Power Query Fare clic con il pulsante destro del mouse su un'area vuota nel riquadro Query a sinistra e quindi scegliere Nuova query> Altreorigini>Query vuota.
Nel riquadro Query a sinistra, fai doppio clic sul nome e quindi rinomina la nuova query vuota in
HelloWorld.Selezionare la nuova query e quindi scegliere HomeEditor>avanzato.
Sostituire il codice di avvio del modello con il codice seguente:
let
HelloWorld = () => ("Hello World")
in
HelloWorldScegliere Fatto.
La query,
HelloWorld, è stata modificata in una funzione personalizzata. Prendere nota dell'icona della
funzione alla sua sinistra.Per richiamare la funzione, selezionarla e quindi selezionare Richiama in anteprima dati.
I risultati della funzione vengono visualizzati in Anteprima dati e aggiunti al riquadro Query come query con il nome predefinito, Funzione richiamata. Potresti volerlo rinominare in qualcosa di più significativo, ad esempio
HelloWorldResult.Selezionare la query e quindi selezionare Home>Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.
Risultati
Creare e richiamare una funzione personalizzata che ha un parametro con l'Editor avanzato
L'esempio seguente mostra come passare un parametro a una funzione personalizzata per convertire un numero decimale in esadecimale.
Creare una query vuota:
Excel Selezione dei dati>Recupero dati>da altre origini>Query vuota.
Power Query Fare clic con il pulsante destro del mouse su un'area vuota nel riquadro Query a sinistra e quindi scegliere Nuova query> Altreorigini>Query vuota.
Nel riquadro Query a sinistra, rinominare la nuova query vuota in
MyHex.Selezionare la nuova query e quindi scegliere HomeEditor>avanzato.
Sostituire il codice di avvio del modello con il codice seguente:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexScegliere Fatto.
La query,
MyHex, è stata modificata in una funzione personalizzata. Prendere nota dell'icona della
funzione alla sua sinistra.Per richiamare la funzione, selezionarla. In Anteprima dati immettere un numero nella casella parametro1 e selezionare Richiama.
I risultati della funzione vengono visualizzati in Anteprima dati. Power Query aggiunge i risultati al riquadro Query come una query con il nome predefinito, Funzione richiamata. Potresti volerlo rinominare in qualcosa di più significativo, ad esempio
MyHexResult.Selezionare la query e quindi selezionare Home>Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.
Risultati
Aggiungere una colonna richiamando una funzione personalizzata
Se si crea una funzione con almeno un parametro, è possibile richiamarlo come funzione personalizzata per creare una nuova colonna e un nuovo valore per ogni riga di una tabella.
Per aprire una query, individuane una che è stata precedentemente caricata dall'editor di Power Query, seleziona una cella nei dati e quindi seleziona Modifica query>. Per altre informazioni, vedere Creare, modificare e caricare una query in Excel (Power Query).
Nota
Per questo esempio, la query richiede almeno una colonna di un tipo di dati Numero intero .
Creare la
MyHexfunzione personalizzata come descritto nella sezione Creare e richiamare una funzione personalizzata con un parametro con l'Editor avanzato.Nella query selezionare Aggiungi colonna>Richiama funzione personalizzata. Viene visualizzata la finestra di dialogo Richiama funzione personalizzata .
Immettere il nome della nuova colonna, ad esempio
HexConvert, nella casella Nome nuova colonna .Selezionare il nome di una funzione personalizzata predefinita nell'elenco a discesa Query funzione. In questo esempio, selezionate
MyHex.Poiché la funzione personalizzata fa riferimento a un parametro, il parametro viene ora visualizzato.
Selezionare una colonna di un tipo di dati Numero intero come parametro per la funzione.
Selezionare OK.
Risultato
Viene creata una nuova colonna che mostra il valore esadecimale della colonna Numero intero immesso come parametro.
Vedere anche
Guida di Power Query per Excel
Creare una query con parametri (Power Query)
Gestire le query (Power Query)