Power Fx: Introduzione alle formule con nome
Si tratta di un concetto vecchio, presente in Excel da molto tempo, che ora Microsoft porta in Power Fx. Grazie ad esso, sarà possibile semplificare l’inizializzazione delle applicazioni, ridurre i tempi di caricamento, riutilizzare la logica e migliorare la manutenibilità delle app.
Named Formulas, nome che deriva dal modo in cui questa funzione appare in Excel, nella “Gestione nomi”. In Excel è possibile dare un nome a qualsiasi cella e fare riferimento a quel nome in tutta la cartella di lavoro. Questa funzione consente di spostare il riferimento alla cella in base al nome piuttosto che alla posizione. Inoltre, con l’introduzione di Power Fx, è possibile associare un nome a una formula che non si trova in una cella.
Oggi in Power Fx si scrivono formule per le proprietà dei controlli dell’applicazione. È possibile fare riferimento a tali proprietà da altre formule per riutilizzare il risultato del calcolo. Ma si è sempre limitati dai controlli e dalle loro proprietà. E se si potessero creare le proprie proprietà e creare i propri punti di riutilizzo?
Vantaggi delle formule con nome
Se si potesse scrivere questo in una proprietà App.Formulas:
UserEmail = User().Email;
UserInfo = LookUp( Users, ‘Primary Email’ = User().Email );
UserTitle = UserInfo.Title;
UserPhone = Switch( UserInfo.’Preferred Phone’,
‘Preferred Phone (Users)’.’Mobile Phone’, UserInfo.’Mobile Phone’,
UserInfo.’Main Phone’ );
Esprimono come calcolare UserEmail, UserInfo, UserTitle e UserPhone a partire da altri valori. Questa logica è ora incapsulata e può essere utilizzata in tutta l’applicazione e può essere aggiornata in questa posizione. Si può passare dall’uso della tabella Utenti del Dataverse all’uso del connettore di Office 365 senza dover modificare le formule nel resto dell’applicazione.
Perchè usare queste formule? Perché non usare semplicemente Set in App.OnStart per ottenere la stessa cosa? È certamente possibile e Microsoft non ha intenzione di togliere questa possibilità.
Ecco i vantaggi:
– Il valore della formula è sempre disponibile. Non c’è nessuna dipendenza temporale, nessun App.OnStart che deve essere eseguito prima che il valore sia impostato, nessun momento in cui il valore della formula non è corretto. Le formule con nome possono riferirsi l’una all’altra in qualsiasi ordine, purché non creino un riferimento circolare. Possono essere calcolate in parallelo.
– Il valore della formula è sempre aggiornato. La formula può eseguire un calcolo che dipende dalle proprietà del controllo o dai record del database e, quando questi cambiano, il valore della formula si aggiorna automaticamente. Non è necessario aggiornare manualmente il valore come si fa con una variabile.
– La definizione della formula è immutabile. La definizione in App.Formulas è l’unica fonte di verità e il valore non può essere modificato in nessun altro punto dell’applicazione. Con le variabili, è possibile che un codice cambi inaspettatamente un valore, ma questo non è possibile con le formule con nome. Ciò non significa che il valore di una formula debba essere statico: può cambiare, ma solo se cambiano le dipendenze.
– Il calcolo della formula può essere differito. Poiché il suo valore è immutabile, può essere sempre calcolato quando serve, il che significa che non è necessario calcolarlo finché non è effettivamente necessario. Se il valore non viene mai utilizzato, la formula non deve essere calcolata. I valori della formula che non vengono utilizzati fino alla visualizzazione della schermata2 di un’applicazione non devono essere calcolati fino a quando la schermata2 non è visibile. Questo può migliorare notevolmente il tempo di caricamento dell’applicazione. Le formule denominate sono dichiarative e consentono al sistema di ottimizzare come e quando vengono calcolate.
– Le formule denominate sono un concetto di Excel. Power Fx sfrutta i concetti di Excel dove possibile, dato che molte persone conoscono bene Excel. Le formule denominate sono l’equivalente delle celle e delle formule denominate di Excel, gestite con il Name Manager. Esse vengono ricalcolate automaticamente come in un foglio di calcolo.
Le informazioni presenti in questo post, sono prese dall’articolo: Power Fx: Introducing Named Formulas