Crear expresiones con Power Fx

Power Fx es un lenguaje de código bajo que usa fórmulas similares a Excel. Utilice Power Fx para crear lógica compleja que permite a sus agentes para manipular datos. Por ejemplo, una fórmula Power Fx puede establecer el valor de una variable, analizar una cadena o usar una expresión en una condición. Para obtener más información, consulte la información general de Power Fx y la referencia de fórmulas.

Nota:

Las fórmulas de Power Fx en Copilot Studio usan la numeración de estilo estadounidense. Es decir, el separador decimal es un punto o punto, como en 12,567.892. Esto significa que debe usar comas (,) como separadores de parámetros para las fórmulas de Power Fx.

Prerrequisitos

Uso de variables en una fórmula

Para usar una variable en una fórmula de Power Fx, debe agregar un prefijo a su nombre para indicar el ámbito de la variable:

Por ejemplo, para usar la variable del sistema Conversation.Id en una fórmula, haga referencia a la variable de sistema como System.Conversation.Id.

Captura de pantalla del panel Introducir fórmula con una expresión que contiene una variable del sistema.

Uso de valores literales en una fórmula

Además de usar variables en una fórmula de Power Fx, puede escribir valores literales. Para usar un valor literal en una fórmula, debe escribirlo en el formato correspondiente a su tipo. La siguiente tabla enumera los tipos de datos y el formato de sus valores literales correspondientes.

Type Ejemplos de formato
Cadena "hi", , "hello world!", "copilot"
Booleano Solo true o false
Número 1, 532, , 5.258,-9201
Registros y tablas [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, , { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Fecha y hora Time(5,0,23), , Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Elección No está soportado
En blanco Sólo Blank()

Fórmulas comunes de Power Fx

En la tabla siguiente se enumeran los tipos de datos y las fórmulas de Power Fx que puede usar con cada tipo de datos.

Type Fórmulas de Power Fx
Cadena Función Text
Funciones concat y concatenar
Función LEN
Funciones inferiores, superiores y adecuadas
Funciones IsMatch, Match y MatchAll
Funciones EndsWith e StartsWith
Función Buscar
Reemplazar y sustituir función
Booleano Función booleana
Funciones And, Or y Not
Funciones If y Switch
Número Funciones Decimal, Float y Value
Funciones Int, Round, RoundDown, RoundUp y Trunc
Registros y tablas Funciones concat y concatenar
Funciones Count, CountA, CountIf y CountRows
Función ForAll
Funciones First, FirstN, Index, Last y LastN
Funciones Filter, Search y LookUp
Función JSON
Función ParseJSON
Fecha y hora Funciones Date, DateTime y Time
Funciones DateValue, TimeValue y DateTimeValue
Funciones Day, Month, Year, Hour, Minute, Second y Weekday
Ahora, Hoy, IsToday, UTCNow, UTCToday, IsUTCToday funciones
Funciones DateAdd, DateDiff y TimeZoneOffset
Función Text
En blanco Funciones Blank, Coalesce, IsBlank e IsEmpty
Funciones Error, IfError, IsError, IsBlankOrError

Usar Power Fx para establecer una variable

En este ejemplo, una expresión de Power Fx almacena y genera el nombre del cliente en mayúsculas.

  1. Cree un tema y agregue un nodo de Pregunta.

  2. Para Introduzca un mensaje, introduzca "¿Cómo se llama?".

  3. En Identificar, seleccione la entidad Nombre de persona.

  4. Seleccione la casilla Guardar respuesta del usuario como, seleccione la variable Var1 y asígnele un nombre customerName.

  5. En el nodo Pregunta, seleccione + y elija Establecer un valor de variable.

  6. Seleccione el cuadro bajo Establecer variable y luego Crear una nueva y llámela capsName.

  7. En el cuadro Al valor, seleccione la flecha > y luego seleccione la pestaña Fórmula.

  8. En el cuadro fx, escriba Upper(Text(Topic.customerName)) y luego seleccione Insertar.

    Captura de pantalla de una fórmula de Power Fx en un nodo Establecer una variable con la pestaña Fórmula resaltada.

  9. En el nodo Pregunta, seleccione + y luego elija Enviar un mensaje.

  10. Escriba "HOLA ", seleccione {x} y después seleccione capsName.

    Captura de pantalla del nodo de mensajes con un mensaje definido.

Usar una fórmula de Power Fx como condición

Para evaluar expresiones más complejas, configure los nodos de condición para usar fórmulas de Power Fx.

En este ejemplo, el agente determina si una fecha de reserva califica para un descuento. Para ello, comprueba si la fecha de reserva proporcionada por el cliente es de 14 días o más desde la fecha actual.

  1. Cree un tema y agregue un nodo de Pregunta.

  2. Para Introducir un mensaje, introduzca "¿Fecha de reserva?".

  3. En Identificar, seleccione la entidad Fecha y hora.

  4. Seleccione la casilla Guardar respuesta del usuario como, seleccione la variable Var1 y asígnele un nombre bookingDate.

    Captura de pantalla del nodo Pregunta con la entidad de fecha y hora elegida y un conjunto de variables.

  5. Seleccione el icono Agregar nodo bajo el nodo Pregunta y después seleccione Agregar una condición.

  6. Selecciona los tres puntos (...) del nodo Condición y luego selecciona Cambiar a fórmula.

  7. En el cuadro Función, seleccione la flecha > y luego seleccione la pestaña Fórmula.

  8. Reemplace el contenido del cuadro fx con la fórmula Topic.bookingDate > (DateAdd (Now(), 14)) y luego seleccione Insertar.

  9. En el nodo Condición, agregue un nodo Mensaje e introduzca el mensaje "Tiene derecho a un descuento".

  10. En el nodo Todas las demás condiciones, agregue un nodo Mensaje e introduzca el mensaje "Lo sentimos, no tiene derecho a un descuento".

    Captura de pantalla de nodos de mensaje condicionales.