Esplorazione degli scenari aziendali per le funzioni Power Fx

Completato

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.