Compartir vía


Crear expresiones con Power Fx

Power Fx es el lenguaje de fórmulas de poco código que funciona de manera muy similar a las fórmulas de Excel. Usar Power Fx para crear una lógica compleja que permita a sus copilotos 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 sobre Power Fx y la referencia de fórmulas.

Nota

Las fórmulas de Power Fx en Copilot Studio utilizan la numeración al estilo estadounidense. Es decir, el separador decimal es un punto o punto, como en 12,567.892. Esto también significa que los parámetros de Power Fx deben estar separados por comas (,).

Requisitos previos

Usar variables en una fórmula

Para utilizar una variable en una fórmula de Power Fx, debe agregar un prefijo a su nombre para indicar el alcance 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.

Usar valores literales en una fórmula

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

Type Ejemplos de formato
String "hi", "hello world!", "copilot"
Booleana Solo true o false
Number 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")
Opción No admitido
En blanco Solo Blank()

Fórmulas comunes Power Fx

La siguiente tabla enumera los tipos de datos y fórmulas Power Fx correspondientes para usar con ese tipo de datos.

Type Fórmulas de Power Fx
String Función Text
Funciones Concat y Concatenate
Función Len
Funciones Lower, Upper y Proper
Funciones IsMatch, Match y MatchAll
Funciones EndsWith y StartsWith
Función Find
Función Replace and Substitute
Booleana Función Boolean
Funciones And, Or y Not
Funciones If y Switch
Number Funciones Decimal, Float y Value
Funciones Int, Round, RoundDown, RoundUp y Trun
Registros y tablas Funciones Concat y Concatenate
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
Funciones Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Funciones DateAdd, DateDiff y TimeZoneOffset
Función Text
En blanco Funciones Blank, Coalesce, IsBlank e IsEmpty
Funciones Error, IfError, IsError e IsBlankOrError

Usar Power Fx para establecer una variable

En este ejemplo, una Power Fx expresión 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 el cuadro bajo Guardar respuesta como y luego seleccione la variable Var1 y dele el 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 copiloto 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 el cuadro bajo Guardar respuesta como y luego seleccione la variable Var1 y dele el 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. Seleccione el icono Más (...) del nodo Condición y después seleccione 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.