Applies ToExcel per Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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.

  1. 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.

  2. Nel riquadro Query a sinistra fare doppio clic sul nome e quindi rinominare la nuova query vuota in "HelloWorld".

  3. Selezionare la nuova query e quindi scegliere Home> Editor avanzato.

  4. Sostituire il codice di avvio del modello con il codice seguente:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Seleziona Fatto.

  6. La query , "HelloWorld", è stata modificata in una funzione personalizzata. Si noti l'icona Icona funzione a sinistra.

  7. Per richiamare la funzione, selezionarla e quindi selezionare Richiama nell'anteprima dati.Richiamo della funzione personalizzata HelloWorld

  8. 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".

  9. Selezionare la query e quindi scegliere Home > chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati 

Risultati di HelloWorld in un foglio di lavoro

L'esempio seguente mostra come passare un parametro a una funzione personalizzata per convertire un numero decimale in esadecimale.

  1. 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.

  2. Nel riquadro Query a sinistra rinominare la nuova query vuota in "MyHex".

  3. Selezionare la nuova query e quindi scegliere Home> Editor avanzato.

  4. Sostituire il codice di avvio del modello con il codice seguente:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Seleziona Fatto.

  6. La query , "MyHex", è stata modificata in una funzione personalizzata. Si noti l'icona Icona funzione a sinistra.

  7. Per richiamare la funzione, selezionarla e quindi in Anteprima dati immettere un numero nella casella parametro1 e selezionare Richiama.

    Richiamo della funzione personalizzata MyHex

  8. 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".

  9. Selezionare la query e quindi scegliere Home > chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati 

Risultato della funzione MyHex in un foglio di lavoro

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.

  1. 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.

  2. Creare la funzione personalizzata "MyHex" come spiegato nella sezione Creare e richiamare una funzione personalizzata con un parametro con l'editor avanzato.

  3. Nella query selezionare Aggiungi colonna >Richiama funzione personalizzata. Viene visualizzata la finestra di dialogo Richiama funzione personalizzata.

  4. Immettere il nome della nuova colonna, ad esempio "HexConvert", nella casella Nuovo nome colonna.

  5. Selezionare il nome di una funzione personalizzata predefinita nell'elenco a discesa Query funzione. In questo esempio selezionare "MyHex".

  6. Poiché la funzione personalizzata fa riferimento a un parametro, il parametro viene visualizzato.

  7. Selezionare una colonna di un tipo di dati Numero intero come parametro per la funzione.Finestra di dialogo Richiama funzione personalizzata

  8. Seleziona OK.

Risultato

Viene creata una nuova colonna che mostra il valore esadecimale della colonna Numero intero immessa come parametro.

Nuova colonna MyHex di valori in un foglio di lavoro

Vedere anche

Guida di Power Query Excel guida

Creare formule di Power Query in Excel

Creare una query con parametri

Gestire le query

Informazioni sulle funzioni M di Power Query (docs.com)

Uso di funzioni personalizzate (docs.com)

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.