Explorar escenarios empresariales para funciones de Power Fx

Completado

Después de aprender los fundamentos del desarrollo de funciones de Power Fx, puede explorar algunas aplicaciones del mundo real. En esta unidad, explorará escenarios empresariales prácticos y observará de qué manera las funciones de Power Fx pueden ayudarle a optimizar la lógica y a mejorar la eficiencia y la experiencia del usuario.

Ejemplo: Aplicar códigos de descuento al finalizar la compra

En este ejemplo, trabaja para una empresa que vende entradas para eventos y desea ofrecer códigos de descuento durante el proceso de pago. La empresa necesita asegurarse de que el descuento sea válido en función de los siguientes criterios:

  • El código no ha caducado.
  • El evento cumple los requisitos para los descuentos.
  • El usuario no ha utilizado aún este código.

Además, desea una validación en tiempo real para que el sistema aplique el descuento al instante antes de que se complete el pedido.

Para ello, primero debe configurar las tablas necesarias:

  • Discount Code: almacena códigos, fechas de vencimiento y porcentajes de descuento.
  • Evento: contiene una marca de validación para determinar los eventos que cumplen los requisitos.
  • Usuario/compras: realiza un seguimiento del historial de compras, incluidos los códigos de descuento aplicados.

Al desarrollar la función, use los siguientes parámetros:

  • Parámetros de entrada:

    • DiscountCode (cadena)
    • EventID (cadena)
    • UserLogin (cadena)
    • Amount Decimal
  • Parámetro de salida: TotalAmount (decimal)

En el siguiente ejemplo se muestra el aspecto que puede tener su función de 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 esta función, desarrolla una solución flexible y reutilizable que funciona para cualquier código de descuento o evento del conjunto de datos. Además, puede usarla en varias aplicaciones, ya sea una aplicación móvil o una aplicación de escritorio, pasando los parámetros necesarios y utilizando el valor devuelto.

Ejemplo: Aplicar automáticamente el envío gratuito

En este escenario común de comercio electrónico, su empresa desea ofrecer envío gratuito cuando un pedido alcanza un importe específico. Puede crear una función que compruebe el subtotal del pedido y determine si se aplica o no el descuento.

Para ello, necesita las siguientes tablas:

  • Discount Code: almacena códigos y fechas de vencimiento.
  • Artículos: contiene detalles del producto, incluido el coste.

También necesita los siguientes parámetros:

  • Parámetro de entrada: subtotal (decimal)

  • Parámetro de salida: CodeStatus (booleano)

La función debe ejecutarse cada vez que alguien agrega un artículo al carro para evaluar si el pedido cumple o no los requisitos para el envío gratuito.

La función de Power Fx para este escenario podría parecerse al siguiente ejemplo:

{CodeStatus:
If(LookUp('Discount Codes','Discount Code'="FREEDEL").'Exp Date'>Now() And Subtotal>25, true, false)
}

Este enfoque garantiza que, cuando un usuario alcanza el umbral de envío gratuito, el sistema aplica automáticamente el descuento sin necesidad de pasos adicionales y sin interrupción para el usuario.

Ejemplo: Recompensar a los viajeros frecuentes

En este ejemplo, trabaja para una empresa que desea crear una aplicación de reserva de viajes para recompensar a los clientes fieles. En lugar de aplicar el descuento en tiempo real, es posible que desee emitirlo en ocasiones especiales, como cumpleaños o aniversarios.

En este caso, usará un flujo de Power Automate junto con la función de Power Fx. Su función debe validar si un cliente cumple los requisitos en función de su historial.

Para ello, necesita las siguientes tablas:

  • Discount Code: almacena códigos, fechas de vencimiento y porcentajes de descuento.
  • Cliente: realiza un seguimiento del estado VIP y del historial de compras.

También necesita estos parámetros:

  • Parámetro de entrada: CustomerNumber (cadena)

  • Parámetro de salida: CodeStatus (booleano)

La función de Power Fx para este escenario podría parecerse al siguiente ejemplo:

{CodeStatus:
If(LookUp(Customers,'Customer Number'=CustomerNumber).'Paid on time'=true And LookUp(Customers,'Customer Number'=CustomerNumber).'Purchased YTD'>25000, true, false)
}

A continuación, puede crear un flujo de Power Automate programado para comprobar los cumpleaños de los clientes y luego enviarles un descuento si cumplen los requisitos. Este enfoque agrega una capa de automatización y personalización a la experiencia del cliente.

Al estructurar su lógica con funciones de Power Fx, puede crear soluciones reutilizables y flexibles que simplifiquen los procesos en varias aplicaciones y escenarios. Ya sea validando códigos de descuento, aplicando promociones en tiempo real o integrando con acciones de Power Automate programadas, estas funciones pueden ser de utilidad para crear aplicaciones más inteligentes y eficientes.