Power Fx in flussi desktop

[Questo articolo fa parte della documentazione non definitiva, pertanto è soggetto a modifiche.]

Power Fx è il linguaggio con poco codice per esprimere la logica in Microsoft Power Platform. È un linguaggio di programmazione per utilizzo generico, fortemente tipizzato, dichiarativo e funzionale.

Power Fx è espresso in un testo di facile utilizzo. È un linguaggio a uso limitato di codice con cui i creatori possono lavorare direttamente in una barra della formula simile a Excel o una finestra di testo di Visual Studio Code. L'uso limitato di codice è garantito dalla natura concisa e semplice del linguaggio, che semplifica le attività di programmazione comuni sia per i creatori che per gli sviluppatori.

Power Fx consente l'intero spettro di sviluppo, dai produttori senza codice senza alcuna conoscenza di programmazione alla codifica professionale per gli sviluppatori professionisti. Consente a team diversi di collaborare e risparmiare tempo e fatica.

Importante

  • Questa è una funzionalità di anteprima.
  • Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni.
  • Queste funzionalità sono disponibili prima di una versione ufficiale di modo che i clienti possano ottenere un accesso prioritario e fornire dei commenti.
  • Questa funzionalità richiede Power Automate per desktop v2.39 o versione successiva.

Uso di Power Fx in flusso desktop (anteprima)

Per utilizzare Power Fx come linguaggio di espressione in un flusso desktop, devi creare un flusso desktop e abilitare il rispettivo pulsante di attivazione/disattivazione durante la creazione del flusso tramite la console di Power Automate per desktop.

Screenshot del pulsante Abilita Power Fx

Nota

Ciascuna espressione Power Fx deve iniziare con "=" (segno uguale). 

Allo stesso modo delle formule di Excel, i flussi desktop che utilizzano Power Fx come linguaggio di espressione utilizzano l'indicizzazione basata su matrice 1 (uno) invece dell'indicizzazione basata su zero 0. 

I nomi delle variabili fanno distinzione tra maiuscole e minuscole nei flussi desktop con Power Fx. Ad esempio, NewVar è diverso da newVar.

Quando Power Fx è abilitato in un flusso desktop, l'hosting delle variabili non è supportato e richiede agli utenti di inizializzare una variabile prima del suo utilizzo. Il tentativo di utilizzare una variabile non inizializzata nelle espressioni Power Fx genera un errore.

Se l'azione accetta una singola espressione condizionale. In precedenza, accettava più operandi.

Esempi:

  • =1 in un campo di input equivale al valore numerico 1
  • = variableName è uguale al valore della variabile variableName. 
  • L'espressione = {'prop':"value"} restituisce un valore del record equivalente a un oggetto personalizzato
  • L'espressione = Table({'prop':"value"}) restituisce una tabella Power Fx equivalente a un elenco di oggetti personalizzati
  • L'espressione - = [1,2,3,4] crea un elenco di valori numerici
  • Per accedere al valore da un Elenco dovresti usare la funzione Index(var, numero), dove var è il nome della Lista e number è la posizione del valore da recuperare
  • Per accedere a una cella della tabella dati utilizzando un indice di colonna, utilizzare la funzione ReadCell(). ReadCell(DataTableVar, 1, 1) recupera il valore dalla cella nella riga 1, colonna 1 ReadCell(DataRowVar, 1) recupera il valore dalla cella nella riga 1
  • Per includere un valore interpolato in un input o in un selettore di elementi UI/web, utilizza la seguente sintassi: Lorem ipsum ${variabile/ espressione} lorem ipsum
    • Esempio: il numero totale è ${Sum(10, 20)}

Nota

Se desideri utilizzare il simbolo del dollaro ($) seguito da una parentesi graffa di apertura ({) all'interno di un'espressione Power Fx o nella sintassi di un selettore di elementi UI/Web e hai Power Automate per desktop che non lo gestisce come sintassi di interpolazione di stringhe, assicurati di seguire questa sintassi: $${ (il primo simbolo del dollaro fungerà da carattere di fuga)

Funzioni Power Fx disponibili

Per l'elenco completo di tutte le funzioni disponibili in Power Automate per i flussi desktop, vai a Informazioni di riferimento sulla formule: flussi desktop.

Problemi noti e limitazioni

  • Le seguenti azioni dalla libreria standard di azioni di automazione non sono attualmente supportate:
    • Crea elenco
    • Modica ordine elenco
    • Rimuovi elemento da elenco
    • Ordina elenco
    • Unisci elenchi
    • Inverti elenco
    • Rimuovi elementi duplicati da elenco
    • Trova voci di elenco comuni
    • Recupera colonne DataTable nell'elenco
    • Aggiungi elemento all'elenco
    • Crea nuovo elenco
    • Crea nuova tabella dati
    • Inserisci una riga in una tabella dati
    • Aggiorna elemento tabella dati
    • Elimina riga da tabella dati
    • Switch
    • Case
    • Caso predefinito

Nota

Combinando l'azione Esegui espressione Power Fx con le espressioni che utilizzano le funzioni Raccogli, Cancella, ClearCollect e Patch puoi emulare il comportamento trovato nelle azioni Aggiungi elemento all'elenco e Inserisci riga nella tabella dati che attualmente non sono disponibili per i flussi desktop Power Fx abilitati.

  • Le variabili di tipo Valore generale non sono consentite in elenchi, tabelle o come proprietà per valori di record.
  • Ogni volta che viene utilizzata una variabile di tipo Valore generale, viene presentato un messaggio di avviso che indica "Tipo Deferred fornito". Questi avvisi sono dovuti al requisito rigoroso di Power Fx per gli schemi fortemente tipizzato (tipi rigorosamente definiti).
  • Alcune azioni di automazione della libreria standard di azioni, come Leggi da Excel, Leggi da CSV, Estrai dati da Web, Estrai dati dalla finestra, Esegui istruzione SQL e Converti JSON in un oggetto personalizzato, producono variabili Tipo generale che non possono ancora essere valutate durante la creazione. Per il momento ignora gli avvisi derivanti da tali casi.
  • Le variabili Tipo generale prodotte dalle azioni precedenti sono attualmente incompatibili con le seguenti funzioni: Filter(), LookUp(), Search(), CountIf(), With().
  • Alcune funzioni Power Fx presentate tramite IntelliSense non sono attualmente supportate nei flussi desktop. Tali funzioni visualizzano il seguente errore in fase di progettazione quando vengono utilizzate: Parametro "Valore": il tipo PowerFx "OptionSetValueType" non è supportato.

Novità

Questa sezione elenca cosa è cambiato in ogni aggiornamento.

2.43

Nella versione di aprile:

  • Maiuscole/minuscole. Ad esempio, NewVar è una variabile diversa da newVar.
  • L'azione Esegui espressione Power Fx è disponibile nel gruppo di azioni Variabili. Esegui espressione Power Fx ti consente di eseguire espressioni direttamente sulle origini dati.
  • Le funzioni Power Fx Raccogli, Cancella, ClearCollect sono supportate nei flussi desktop.
  • Le funzioni Power Fx Patch sono supportate nei flussi desktop.
  • Le variabili e le espressioni Power Fx possono essere utilizzate nella sintassi degli elementi dell'interfaccia utente o del selettore Web.
  • I valori interpolati possono ora essere inclusi nella sintassi di un selettore di elementi UI/Web. Per le stringhe interpolate, puoi utilizzare questa sintassi: ${ espressione Power Fx}.

Importante

Nella versione 2.43 di Power Automate per desktop, sono stati apportati aggiornamenti per i flussi desktop Power Fx abilitati che potrebbero influire sull'esecuzione dei flussi desktop Power Fx abilitati creati con le versioni precedenti. In particolare:

  • Nomi delle variabili con distinzione tra maiuscole e minuscole: i nomi delle variabili all'interno dei flussi desktop Power Fx abilitati creati con Power Automate per desktop versione 2.43 e successive fanno distinzione tra maiuscole e minuscole. I flussi desktop Power Fx creati con Power Automate per desktop versione 2.42 e precedenti consentivano nomi di variabili senza distinzione tra maiuscole e minuscole. Ad esempio, NewVAR e newVAR fanno riferimento alla stessa variabile. Per i flussi desktop Power Fx abilitati creati con Power Automate per desktop versione 2.42 e precedenti, assicurati di rivedere e verificare che le variabili prodotte siano quelle previste.

2.42

Nella versione di marzo:

  • Le funzionalità IntelliSense sono ora disponibili per i flussi desktop Power Fx abilitati.
    • Colorazione della sintassi
    • Funzionalità di completamento automatico durante la digitazione con suggerimenti in tempo reale
    • Helper di firma per funzioni Power Fx

Nota

Le funzionalità IntelliSense sono disponibili per le espressioni. Per inserire un'espressione usa il segno uguale (= la tua espressione ) all'inizio del rispettivo input o la notazione di interpolazione di stringhe (${ la tua espressione }).

  • Selettore funzioni
    • Puoi accedere al selettore di funzioni utilizzando il pulsante fx nella visualizzazione quando interagisci con i rispettivi input. Qui sono disponibili tutte le funzioni Power Fx attualmente supportate per i flussi desktop.

2.41

Nella versione di febbraio:

  • D'ora in poi gli input che non iniziano con il segno uguale (=) vengono considerati valori di tipo testo. Gli input numerici e booleani devono sempre iniziare con il segno uguale.
  • Gli input ora supportano le stringhe interpolate. Per includere un valore interpolato in un input utilizzare la seguente sintassi: Lorem ipsum ${variabile/ espressione} lorem ipsum.
    • Esempio: il numero totale è ${Sum(10, 20)}

Nota

Per utilizzare la sintassi della stringa interpolata, omettere il segno di uguale all'inizio dell'input.

2.39

Nella versione di dicembre:

  • Se l'input fornito non inizia con il segno uguale, si applicano le seguenti regole:
    • I valori numerici senza spazi vengono interpretati come valori numerici.
    • True/False come input, indipendentemente dal caso e senza spazi vengono interpretati come valori booleani.
    • Tutti gli altri input sono considerati valori di tipo testo.