Esplorazione degli scenari aziendali per le funzioni Power Fx
Ora che si sono apprese le nozioni di base della creazione di funzioni Power Fx, è possibile esplorare alcune applicazioni del mondo reale. In questa unità si prendono in esame alcuni scenari aziendali pratici e si osserva come le funzioni Power Fx possono contribuire a semplificare la logica, migliorare l'efficienza e ottimizzare l'esperienza utente.
Esempio; Applicazione di codici di sconto al check-out
In questo esempio si lavora presso una società che vende biglietti per eventi e che vuole offrire codici di sconto durante il check-out. La società vuole essere certa che lo sconto sia valido in base ai seguenti criteri:
- Il codice non è scaduto
- L'evento è idoneo per l'applicazione di sconti
- L'utente non ha già usato questo codice
Inoltre, si desidera la convalida in tempo reale in modo che il sistema applichi lo sconto immediatamente prima del completamento dell'ordine.
A tale scopo, è necessario impostare prima le tabelle necessarie:
- Discount Code: archivia codici, date di scadenza e percentuali di sconto.
- Event: contiene un flag di convalida per determinare gli eventi idonei.
- User/Purchases: tiene traccia della cronologia degli acquisti, inclusi i codici sconto applicati.
Quando si crea la funzione, usare i parametri seguenti:
Parametri di input:
- DiscountCode (stringa)
- EventID (stringa)
- UserLogin (stringa)
- Amount (decimale)
Parametro di output: TotalAmount (decimale)
L'esempio seguente mostra quale potrebbe essere l'aspetto della funzione Power Fx:
{TotalAmount:
If(LookUp(Discount Codes, ‘Code'=DiscountCode).'Expiration Date'>Today() And LookUp(Events, ‘Event ID' = EventID).'Validation'=true And ForAll(LookUp(Purchases, ‘User'=UserLogin).'Discount Code Applied'<>DiscountCode, (Amount-Amount*.20), Amount)
}
Con questa funzione si crea una soluzione flessibile e riutilizzabile per qualsiasi codice di sconto o evento nel set di dati. Inoltre, può essere usata in più app, che si tratti di un'app per dispositivi mobili o di un'app desktop, passando i parametri richiesti e usando il valore restituito.
Esempio: Applicazione automatica della spedizione gratuita
In questo scenario comune di e-commerce, la società vuole offrire la spedizione gratuita quando un ordine raggiunge un importo specifico. È possibile creare una funzione che controlla il subtotale dell'ordine e determina quindi se applicare o meno lo sconto.
A tale scopo, sono necessarie le tabelle seguenti:
- Discount Code: archivia codici e date di scadenza.
- Items: contiene i dettagli del prodotto, incluso il costo.
Sono inoltre necessari i seguenti parametri:
Parametro di input: Subtotale (decimale)
Parametro di output: CodeStatus (booleano)
La funzione deve essere eseguita ogni volta che qualcuno aggiunge un articolo al carrello per valutare se l'ordine è idoneo o meno per la spedizione gratuita.
La funzione Power Fx per questo scenario potrebbe avere un aspetto simile all'esempio seguente:
{CodeStatus:
If(LookUp('Discount Codes','Discount Code'="FREEDEL").'Exp Date'>Now() And Subtotal>25, true, false)
}
Con questo approccio, quando un utente raggiunge la soglia di spedizione gratuita il sistema applicherà automaticamente lo sconto senza la necessità di ulteriori passaggi e senza interruzioni per l'utente.
Esempio: Premi per i viaggiatori frequenti
Per questo esempio, si lavora presso una società che desidera creare un'app per la prenotazione di viaggi per premiare i clienti fedeli. Anziché applicare lo sconto in tempo reale, lo si vuole rendere disponibile in occasioni speciali, come compleanni o anniversari.
In questo caso, si usa un flusso Power Automate in combinazione con la funzione Power Fx. La funzione deve verificare se un cliente è idoneo in base alla sua cronologia.
A tale scopo, sono necessarie le tabelle seguenti:
- Discount Code: archivia codici, date di scadenza e percentuali di sconto.
- Customer: tiene traccia dello stato VIP e della cronologia degli acquisti.
Sono inoltre necessari i seguenti parametri:
Parametro di input: CustomerNumber (stringa)
Parametro di output: CodeStatus (booleano)
La funzione Power Fx per questo scenario potrebbe avere un aspetto simile all'esempio seguente:
{CodeStatus:
If(LookUp(Customers,'Customer Number'=CustomerNumber).'Paid on time'=true And LookUp(Customers,'Customer Number'=CustomerNumber).'Purchased YTD'>25000, true, false)
}
In seguito è possibile creare un flusso pianificato Power Automate per controllare i compleanni dei clienti e inviare loro uno sconto se sono idonei. Questo approccio aggiunge un layer di automazione e personalizzazione all'esperienza del cliente.
Strutturando la logica con le funzioni Power Fx è possibile creare soluzioni flessibili e riutilizzabili che semplificano i processi in più app e scenari. Che si tratti di convalidare codici di sconto, applicare promozioni in tempo reale o eseguire l'integrazione per le azioni pianificate Power Automate, queste funzioni permettono di creare app più intelligenti ed efficienti.