Compartilhar via


Criar expressões usando o Power Fx

O Power Fx é uma linguagem de fórmula com pouco código que usa fórmulas de forma semelhante ao Excel. Use o Power Fx para criar lógica complexa que permite que seus copilotos manipulem dados. Por exemplo, uma fórmula do Power Fx pode definir o valor de uma variável, analisar uma string ou usar uma expressão em uma condição. Para obter mais informações, consulte a documentação Visão geral do Power Fx e a referência de fórmulas.

Observação

As fórmulas do Power Fx no Copilot Studio usam numeração no estilo americano. Ou seja, o separador decimal é um ponto, como em 12,567.892. Isso significa que os parâmetros do Power Fx devem ser separados por vírgulas (,).

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.

Type Exemplos de formato
String "hi", "hello world!", "copilot"
Boolean 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 } }
DateTime 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 comuns do Power Fx

A tabela a seguir lista os tipos de dados e as fórmulas do Power Fx correspondentes a serem usadas com esse tipo de dados.

Type Fórmulas do Power Fx
String 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
Boolean Função booliana
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 Trun
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 de JSON
Função ParseJSON
DateTime 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
As 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 como,depois 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 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 "Olá ", selecione {x}, depois selecione 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 para usar nas fórmulas do Power Fx.

Neste exemplo, o copiloto 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 como,depois 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.