La serie “PowerPlatform Pills” è dedicata alla piattaforma progettata per fornire soluzioni intelligenti e flessibili per affrontare le sfide aziendali. Esploreremo diverse funzionalità e tecniche avanzate per massimizzare il potenziale di Power Platform
La Power Platform di Microsoft offre un ecosistema integrato di strumenti, tra cui Power Apps, Power Automate e Power BI, progettati per semplificare e potenziare la creazione di soluzioni aziendali personalizzate.
“PowerPlatform Pills” è stata pensata per fornire approfondimenti dettagliati e una guida pratica su argomenti chiave, dedicati a un pubblico di sviluppatori, con differenti livelli di esperienza nella piattaforma.
Dopo più di quattro anni di esperienza con Power Apps, ho esplorato varie possibilità per creare soluzioni che consentono di risparmiare tempo per esigenze future simili. Oggi voglio parlarvi di una funzionalità di Power Apps che potrebbe semplificare il nostro modo di sviluppare applicazioni con questa tecnologia: le User Defined Functions (UDF).
Nonostante le attuali limitazioni, riconosco l'impegno di Microsoft nel fornire strumenti sempre più avanzati per migliorare l'efficienza e la qualità del lavoro.
Sono funzioni create dall’utente che possono essere definite in un punto centrale con un nome specifico, accettare parametri di input e restituire un risultato.
Una volta creata, una UDF può essere richiamata da qualsiasi parte dell’app, proprio come le funzioni predefinite di Power Apps.
Se ti è capitato di dover riscrivere lo stesso codice più volte (e non ci credo che non vi sia mai capitato!) o a gestire funzioni complesse e ripetitive, allora questo articolo fa per te.
Immagina di poter creare funzioni personalizzate che possono essere riutilizzate in diverse parti della tua applicazione, semplificando sia il processo di sviluppo, che la manutenzione del codice.
Le UDF ti permettono di fare proprio questo, offrendo una soluzione efficace per migliorare l’efficienza e la leggibilità del vostro codice.
I benefici riscontrati includono una maggiore modularità del codice e una facilità di manutenzione. Tuttavia, è importante notare che questa funzionalità potrebbe essere ancora in fase iniziale e presenta alcuni limiti, che verranno descritti a breve. Si consiglia comunque di eseguire test indipendenti sull'argomento.
È importante "ricordare" che le UDF sono attualmente una funzionalità sperimentale, quindi dovremo attivarle manualmente:
3. Attenzione alla versione: Vai alla scheda Supporto e assicurati che la versione di creazione sia 3.24013 o successiva
4. Abilita la funzionalità sperimentali: Nella sezione “Funzionalità”, scorri verso il basso fino a trovare la sezione “Funzionalità sperimentali”. Qui, cerca l’opzione “User Defined Functions” e attivala.
5. Salva e ricarica: Dopo aver abilitato le UDF, salva le modifiche e ricarica l’app per applicare le nuove impostazioni.
Per creare una funzione definita dall’utente in PowerFx, utilizziamo la seguente sintassi:
FunctionName (Parameter:Type, Parameter:Type):OutputType = [Your Formula here]
Questa struttura permette di definire il nome della funzione, i parametri con i rispettivi tipi di dati di input e il tipo di output. Di seguito ti presenterò un esempio pratico.
Immagina di avere un'app Power Apps che il tuo team di vendita usa per calcolare i prezzi totali degli ordini dei clienti, tenendo conto di sconti personalizzati basati su vari criteri (come quantità acquistata, tipo di cliente, promozioni stagionali, ecc.).
Senza le UDF, dovresti ripetere il codice per il calcolo degli sconti in ogni schermata o componente dove è necessario fare questo calcolo. Questo non solo aumenta la complessità del codice, ma rende anche più difficile la manutenzione e l'aggiornamento.
Definizione della Funzione:
Crea una UDF chiamata CalcolaPrezzoTotale che accetta i seguenti parametri:
• Prezzo unitario (Number)
• Quantità (Number)
• Sconto (Number)
La funzione calcolerà il prezzo totale applicando lo sconto e restituirà il valore risultante.
Le funzioni definite dall'utente possono generare errori, quindi è fondamentale includere la gestione degli errori nella loro definizione. Nel mio esempio CalcolaPrezzoTotale, ho utilizzato la funzione IfError per restituire 0 nei casi in cui il codice generi un errore, come quando le variabili prezzo unitario, quantità o sconto sono vuote.
CalcolaPrezzoTotale(prezzoUnitario: Number, quantità: Number, sconto: Number): Number =
IfError(
prezzoUnitario * quantità * (1 - sconto / 100),
0
);
Da ogni schermata o componente in cui è necessario calcolare il prezzo totale, puoi semplicemente richiamare la UDF CalcolaPrezzoTotale con i parametri appropriati necessari al calcolo.
Seppur offendo molti vantaggi, è importante notare che questa tecnica non è priva di limitazioni:
Queste limitazioni possono rappresentare un ostacolo in alcuni scenari, ma con una buona progettazione, le User Defined Functions possono comunque offrire grandi vantaggi.
Spero che le User Defined Functions vi siano utili e che possano semplificare il vostro lavoro con Power Apps!