Una funzione personalizzata usa il linguaggio della formula M, accetta un set di valori di input e restituisce un singolo valore di output. Se si vuole riutilizzare più volte la logica 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 è necessaria. Esistono diversi modi per creare una funzione personalizzata:
-
Usare l'editor avanzato per aggiungere un'istruzione let e iniziare da zero.
-
Usare il comando Richiama funzione personalizzata.
-
Esistono altri modi per creare funzioni non descritte in questo argomento della Guida, tra cui i comandi Crea funzione e Aggiungi come query. Per una discussione approfondita, vedere Informazioni sulle funzioni M di Power Query (docs.com)e Uso di funzioni personalizzate (docs.com).
Di seguito è riportato un semplice esempio di funzione personalizzata che segue una lunga tradizione di programmazione.
-
Per creare una query vuota: Excel seleziona dati> Ottieni dati > da altre origini >
query vuota. Power Query Fare clic con il pulsante destro del mouse in un punto vuoto del riquadro Query a sinistra e quindi scegliere Nuova query > Altre origini > Query vuota. -
Nel riquadro Query a sinistra fare doppio clic sul nome e quindi rinominare la nuova query vuota in "HelloWorld".
-
Selezionare la nuova query e quindi scegliere Home> Editor avanzato.
-
Sostituire il codice di avvio del modello con il codice seguente:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Seleziona Fatto.
-
La query , "HelloWorld", è stata modificata in una funzione personalizzata. Si noti l'icona a sinistra.
-
Per richiamare la funzione, selezionarla e quindi selezionare Richiama nell'anteprima dati.
-
I risultati della funzione vengono visualizzati nell'anteprima dei dati e aggiunti al riquadro Query come query con il nome predefinito Funzione richiamata. È consigliabile rinominarlo in un elemento più significativo, ad esempio "HelloWorldResult".
-
Selezionare la query e quindi scegliere Home > chiudi & Carica per visualizzare i risultati in un foglio di lavoro.
Risultati
L'esempio seguente mostra come passare un parametro a una funzione personalizzata per convertire un numero decimale in esadecimale.
-
Per creare una query vuota: Excel seleziona dati> Ottieni dati > da altre origini >
query vuota. Power Query Fare clic con il pulsante destro del mouse in un punto vuoto del riquadro Query a sinistra e quindi scegliere Nuova query > Altre origini > Query vuota. -
Nel riquadro Query a sinistra rinominare la nuova query vuota in "MyHex".
-
Selezionare la nuova query e quindi scegliere Home> Editor avanzato.
-
Sostituire il codice di avvio del modello con il codice seguente:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Seleziona Fatto.
-
La query , "MyHex", è stata modificata in una funzione personalizzata. Si noti l'icona a sinistra.
-
Per richiamare la funzione, selezionarla e quindi in Anteprima dati immettere un numero nella casella parametro1 e selezionare Richiama.
-
I risultati della funzione vengono visualizzati nell'anteprima dei dati e aggiunti al riquadro Query come query con il nome predefinito Funzione richiamata. È consigliabile rinominarlo in un elemento più significativo, ad esempio "MyHexResult".
-
Selezionare la query e quindi scegliere Home > chiudi & Carica per visualizzare i risultati in un foglio di lavoro.
Risultati
Se è stata creata una funzione con almeno un parametro, è possibile richiamarla come funzione personalizzata per creare una nuova colonna e un nuovo valore per ogni riga di una tabella.
-
Per aprire una query, individuarne una precedentemente caricata dall'editor di Power Query, selezionare una cella nei dati e quindi selezionare> Modifica. 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 funzione personalizzata "MyHex" come spiegato 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 Nuovo nome colonna.
-
Selezionare il nome di una funzione personalizzata predefinita nell'elenco a discesa Query funzione. In questo esempio selezionare "MyHex".
-
Poiché la funzione personalizzata fa riferimento a un parametro, il parametro viene visualizzato.
-
Selezionare una colonna di un tipo di dati Numero intero come parametro per la funzione.
-
Seleziona OK.
Risultato
Viene creata una nuova colonna che mostra il valore esadecimale della colonna Numero intero immessa come parametro.
Vedere anche
Guida di Power Query Excel guida
Creare formule di Power Query in Excel
Creare una query con parametri