Compartilhar via


Criar expressões usando o Power Fx

Power Fx é uma linguagem low-code que usa fórmulas semelhantes ao Excel. Use o Power Fx para criar uma lógica complexa que permita aos agentes manipular dados. Por exemplo, uma fórmula do Power Fx pode definir o valor de uma variável, analisar uma cadeia de caracteres ou usar uma expressão em uma condição. Para obter mais informações, consulte a visão geral do Power Fx e a referência da fórmula.

Observação

As fórmulas do Power Fx no Copilot Studio usam numeração em estilo dos EUA. Ou seja, o separador decimal é um ponto, como em 12,567.892. Isso significa que você deve usar vírgulas (,) como separadores de parâmetro para suas fórmulas do Power Fx.

Pré-requisitos

Usar variáveis em uma fórmula

Para usar uma variável em uma fórmula do Power Fx, você deve adicionar um prefixo ao nome para indicar o escopo da variável:

Por exemplo, para usar a variável do sistema Conversation.Id em uma fórmula, consulte-a como System.Conversation.Id.

Captura de tela do painel Inserir fórmula com uma expressão que contém uma variável do sistema.

Usar valores literais em uma fórmula

Além de usar variáveis em uma fórmula do Power Fx, você pode inserir valores literais. Para usar um valor literal em uma fórmula, você deve inserir o valor no formato que corresponde ao seu tipo. A tabela a seguir lista os tipos de dados e o formato de seus valores literais correspondentes.

Tipo Exemplos de formato
fio "hi", "hello world!", "copilot"
booleano Apenas true ou false
Número 1, 532, , 5.258-9201
Registro e Tabela [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, , { message: "hello" }{ name: "John", info: { age: 25, weight: 175 } }
Data e Hora , Time(5,0,23)Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Opção Incompatível
Em branco Somente Blank()

Fórmulas do Power Fx comuns

A tabela a seguir lista os tipos de dados e as fórmulas do Power Fx que você pode usar com cada tipo de dados.

Tipo Fórmulas do Power Fx
fio Função Text
Funções Concat e Concatenate
Função Len
Funções Lower, Upper e Proper
Funções IsMatch, Match e MatchAll
Funções EndsWith e StartsWith
Função Find
Função Replace e Substitute
booleano Função Boolean
Funções And, Or e Not
Funções If e Switch
Número Funções Decimal, Float e Value
Funções Int, Round, RoundDown, RoundUp e Trunc
Registro e Tabela Funções Concat e Concatenate
Funções Count, CountA, CountIf e CountRows
Função ForAll
Funções First, FirstN, Index, Last e LastN
Funções Filter, Search e LookUp
Função JSON
Função ParseJSON
Data e Hora Funções Date, DateTime e Time
Funções DateValue, TimeValue e DateTimeValue
Funções Day, Month, Year, Hour, Minute, Second e Weekday
Funções Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Funções DateAdd, DateDiff e TimeZoneOffset
Função Text
Em branco Funções Blank, Coalesce, IsBlank e IsEmpty
Funções Error, IfError, IsError, IsBlankOrError

Usar o Power Fx para definir uma variável

Neste exemplo, uma expressão do Power Fx armazena e produz o nome do cliente em letras maiúsculas.

  1. Crie um tópico e adicione um nó Pergunta.

  2. Para Inserir uma mensagem, insira "Qual é o seu nome?".

  3. Em Identificar, selecione a entidade pré-criada Nome da pessoa.

  4. Selecione a caixa em Salvar resposta do usuário como e selecione a variável Var1 e nomeie-a como customerName.

  5. Dentro do nó Pergunta, selecione + e Definir um valor de variável.

  6. Selecione a caixa em Definir variável, depois selecione Criar uma nova e nomeie-a como capsName.

  7. Na caixa Valor de destino, selecione a seta >, depois selecione a guia Fórmula.

  8. Na caixa fx, insira Upper(Text(Topic.customerName)) e selecione Inserir.

    Captura de tela de uma fórmula do Power Fx em um nó Definir uma variável com a guia Fórmula realçada.

  9. Dentro do nó Pergunta, selecione + e Enviar uma mensagem.

  10. Insira "HELLO ", selecione {x} e capsName.

    Captura de tela do nó da Mensagem com uma mensagem definida.

Usar uma fórmula do Power Fx como condição

Para avaliar expressões mais complexas, configure nós de Condição a serem usados nas fórmulas do Power Fx.

Neste exemplo, o agente determina se uma data de reserva se qualifica para um desconto. Para isso, ele verifica se já se passaram 14 dias ou mais entre a data atual e a data de reserva fornecida pelo cliente.

  1. Crie um tópico e adicione um nó Pergunta.

  2. Em Inserir uma mensagem, digite "Data da reserva?".

  3. Em Identificar, selecione a entidade Data e hora.

  4. Selecione a caixa em Salvar resposta do usuário como e selecione a variável Var1 e nomeie-a como bookingDate.

    Captura de tela de um nó Pergunta com uma entidade de data e hora escolhida e uma variável definida.

  5. Selecione o ícone Adicionar nó abaixo do nó Pergunta, e selecione Adicionar um condição.

  6. Selecione o ícone Mais () do nó da Condição, depois selecione Alterar para fórmula.

  7. Na caixa Função, selecione a seta >, depois selecione a guia Fórmula.

  8. Substitua o conteúdo da caixa fx pela fórmula Topic.bookingDate > (DateAdd (Now(), 14)) e selecione Inserir.

  9. No nó da Condição, adicione um nó da Mensagem e digite a mensagem "Você se qualifica para um desconto".

  10. No nó de Todas as Outras Condições, adicione um nó da Mensagem e digite a mensagem "Você não se qualifica para um desconto".

    Captura de tela de nós da Mensagem condicional.