Compartilhar via


Trabalhar com colunas de fórmula

As colunas de fórmula são colunas que exibem um valor calculado em uma tabela do Microsoft Dataverse. As fórmulas usam o Power Fx, uma linguagem de programação poderosa, porém, amigável. Crie uma fórmula em uma coluna de fórmula do Dataverse da mesma forma que você criaria uma fórmula no Microsoft Excel. À medida que você digita, o Intellisense sugere funções e sintaxe, e até ajuda a corrigir erros.

Adicionar uma coluna de fórmula

  1. Entre no Power Apps em https://make.powerapps.com.

  2. Selecione Tabelas e, em seguida, selecione a tabela à qual pretende adicionar uma coluna de fórmula. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.

  3. Selecione a área Colunas e, em seguida, Nova coluna.

  4. Insira as seguintes informações:

    • Um Nome de exibição para a coluna.
    • Se desejar, insira uma Descrição da coluna.
  5. Em Tipo de dados selecione Fórmula de fx.

  6. Digite a fórmula ou use sugestões de fórmula:

    Insira a fórmula do Power Fx na caixa Fórmula. Mais informações: Digitar uma fórmula


  1. Selecione propriedades adicionais:
    • Selecione Pesquisável, se quiser que essa coluna esteja disponível em exibições, gráficos, painéis e na Localização Avançada.
    • Opções avançadas:
      • Se a fórmula for avaliada como um valor decimal, expanda Opções avançadas para alterar o número de pontos de precisão, entre 0 e 10. O valor padrão é 2.
  2. Selecione Salvar.

Digitar uma fórmula

O exemplo a seguir cria uma coluna de fórmula chamada Preço total. A coluna Número de unidades é um tipo de dados de número inteiro. A coluna Preço é um tipo de dados decimal.

Captura de tela de uma definição de coluna de fórmula.

A coluna de fórmula exibe o resultado de Preço multiplicado por Número de unidades.

Captura de tela de um registro com uma coluna de fórmula.

A fórmula que você insere determina o tipo de coluna. Não é possível alterar um tipo de coluna depois que a coluna é criada. Isso significa que você poderá alterar a fórmula após a criação da coluna somente se ela não alterar o tipo de coluna.

Por exemplo, a fórmula preço * desconto cria um tipo de coluna de número. Você pode alterar preço * desconto para preço * (desconto + 10%) porque isso não muda o tipo de coluna. No entanto, você não pode alterar preço * desconto para Texto(preço * desconto) porque isso exigiria alterar o tipo de coluna para cadeia de caracteres.

Obter sugestões de fórmula (versão preliminar)

[Este tópico faz parte da documentação de pré-lançamento e está sujeito a alterações.]

Descreva o que deseja que a fórmula faça e receba resultados gerados por IA. As sugestões de fórmula aceitam sua entrada em linguagem natural para interpretar e sugerir uma fórmula do Power Fx usando o modelo de IA baseado em GPT.

Importante

Este é um recurso em versão preliminar e está disponível somente nas regiões dos EUA.

Os recursos de visualização não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e fornecer comentários.

No momento, há suporte às sugestões de fórmula que fazem referência a uma única tabela. Não há suporte às sugestões de fórmula que fazem referência a uma coluna em uma tabela relacionada.

Pré-requisitos

Para habilitar esse recurso, você deve habilitar a configuração de ambiente Sugestões de IA para colunas de fórmula. Mais informações: Sugestões de IA para as colunas de fórmula

Exemplo de entrada de linguagem natural

Imagine que haja uma coluna Classificação do cliente que mostra a classificação por conta. Exemplo de coluna de classificação do cliente

Na caixa Obter sugestões de fórmula, insira a fórmula em linguagem natural, como Se a classificação na coluna de classificação for igual ou superior a 5, então indique como Bom e se for menor que 5 indique como Médio e se o valor estiver em branco ou for zero, exiba como Ruim e selecione o botão de seta (enter).

Em seguida, copie a Fórmula sugerida. Fórmula sugerida

E cole-a na caixa Digitar uma fórmula. Selecione Salvar. Colar a fórmula na caixa Digitar uma fórmula.

Veja como a fórmula é exibida depois de colada.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Verifique a coluna da fórmula computada Descrição da classificação, que é exibida assim.

Verificar os resultados da coluna de fórmula

IA responsável

Para obter informações sobre IA responsável, acesse estes recursos:

Operadores

Você pode usar os seguintes operadores em uma coluna de fórmula:
+, -, *, /, %, in, exactin, &

Para obter mais informações, vá para Operadores no Power Apps.

Tipos de dados

É possível exibir os seguintes tipos de dados em uma coluna de fórmula:

Os tipos de dados moeda e escolha (antigos conjuntos de opções) não são suportados no momento.

Tipos de função

É possível usar os seguintes tipos de função em uma coluna de fórmula:

  • Decimal
  • Cadeia de caracteres
  • Booliano
  • Conjunto de Opções
  • DateTime (TZI)
  • DateTime (local do usuário) (limitado a comparações com outros valores de local do usuário e as funções DateAdd e DateDiff)
  • DateTime (somente data) (limitado a comparações com outros valores somente data e as funções DateAdd e DateDiff)
  • Currency
  • Número inteiro, promovido a decimal

Funções

Para as funções escalares que você pode usar em uma coluna de fórmula, vá para Referência de fórmula - Dataverse colunas de fórmula.

* As funções Text e Value só funcionam com números inteiros, onde nenhum separador decimal está envolvido. O separador decimal varia entre localidades. Como as colunas de fórmula são avaliadas sem conhecimento de localidade, não há como interpretar ou gerar corretamente o separador decimal.

* Não há suporte ao argumento StartOfWeek para as funções WeekNum e Weekday nas colunas da fórmula.

Exemplo de função

Description Exemplo
Recupere um valor de data. DateAdd(UTCNow(),-1,TimeUnit.Years)

Crie uma coluna de fórmula decimal

Crie uma coluna de fórmula que retorne um número decimal.

  1. Ao criar uma coluna, insira as seguintes informações:
    • Um Nome de exibição para a coluna.
    • Se desejar, insira uma Descrição da coluna.
  2. Em Tipo de dados selecione Fórmula de fx.
  3. Insira uma fórmula que retorne um valor numérico na barra Fórmula . Este exemplo cria uma coluna de fórmula chamada Valor Total. A coluna preço por unidade é do tipo de dados decimal. Captura de tela de um painel para criar uma nova coluna de fórmula para uso com um número decimal.
  4. Expanda Opções avançadas, Select Decimal como o Tipo de dados de fórmula e defina o número necessário de casas decimais. Captura de tela de uma fórmula decimal definição de coluna.
  5. Selecione Salvar.

Crie uma coluna de fórmula de número inteiro

Crie uma coluna de fórmula que retorne um número inteiro.

  1. Ao criar uma coluna, insira as seguintes informações:
    • Um Nome de exibição para a coluna.
    • Se desejar, insira uma Descrição da coluna.
  2. Em Tipo de dados selecione Fórmula de fx.
  3. Insira uma fórmula que retorne um valor numérico na barra Fórmula . Este exemplo cria uma coluna de fórmula chamada Número de Unidades. As colunas Preço Total e preço por unidade são do tipo de dados decimal. Captura de tela do painel de criação de uma nova coluna de fórmula para uso com um número inteiro.
  4. Expanda Opções avançadas e Select Número inteiro como o Tipo de dados de fórmula e defina o formato necessário para a coluna de número inteiro. Captura de tela de uma fórmula de número inteiro definição de coluna.
  5. Selecione Salvar.

Diretrizes e limitações

Esta seção descreve as diretrizes e as limitações conhecidas das colunas de fórmula no Dataverse.

Validações de uso de campos de moeda

  • As colunas de fórmula não oferecem suporte ao uso de uma coluna de moeda de tabela relacionada na fórmula, como neste exemplo. Coluna de fórmula com fórmula sem suporte de Receita Account.Annual
  • No momento, não há suporte ao uso direto de colunas de moeda e taxa de câmbio na fórmula. O uso de colunas de moeda e taxa de câmbio é feito por meio da função Decimal , como Decimal(currency column) ou Decimal(exchange rate). A função Decimal garante que a saída esteja dentro do intervalo aceito. Se o valor da coluna de moeda ou taxa de câmbio exceder o intervalo aceito, a fórmula retornará nulo.
  • Não há suporte às colunas de moeda base nas expressões de coluna de fórmula porque elas são colunas do sistema usadas para fins de relatório. Se quiser um resultado semelhante, você poderá usar um tipo de coluna de moeda juntamente com uma combinação de coluna de taxa de câmbio, como CurrencyField_Base = (CurrencyField / ExchangeRate).

Validações de uso de colunas de data e hora

  • O comportamento das colunas de fórmula de data e hora só pode ser atualizado quando não é usado em outra coluna de fórmula.
  • Para colunas de fórmula de data e hora, ao usar a função DateDiff , certifique-se de que:
    • A coluna de comportamento do Local do Usuário não pode ser comparada ou usada com uma coluna de comportamento DateTime(TZI)/DateOnly.
    • A coluna de comportamento do Local do Usuário só pode ser comparada ou usada com outra coluna de comportamento de Local do Usuário.
    • As colunas de comportamento DateTime(TZI) podem ser comparadas ou usadas em funções DateDiff com outra coluna de comportamento DateTime(TZI)/DateOnly.
    • As colunas de comportamento DateOnly podem ser comparadas ou usadas em funções DateDiff com outra coluna de comportamento DateTime(TZI)/DateOnly. Configuração de data e hora sem suporte com uma coluna de fórmula
  • Colunas de data e hora e funções de data e hora UTCNow(), Now() não podem ser passadas como parâmetro para funções de cadeia de caracteres. Coluna de fórmula com parâmetro de data e hora passado sem suporte na fórmula

Uso da coluna de fórmula em campos cumulativos

  • Uma coluna de fórmula simples é onde a fórmula usa colunas do mesmo registro ou valores embutidos em código. Para colunas cumulativas, as colunas de fórmula devem ser colunas de fórmula simples, como este exemplo de coluna cumulativa. Exemplo de coluna de fórmula simples para uma coluna cumulativa Exemplo de configuração de coluna cumulativa
  • Uma coluna de fórmula que depende de funções com limite de tempo UTCNow() e UTCToday() não pode ser usada em um campo cumulativo.

Recomendações da função text do Power Fx

  • As colunas de fórmula não oferecem suporte a funções Text() com um único argumento do tipo Número. O número pode ser inteiro, decimal ou monetário. Coluna de fórmula com função de texto sem suporte com um argumento numérico

  • As colunas de fórmula não oferecem suporte ao uso de números nas seguintes configurações:

    • Em funções da cadeia de caracteres. Estas são funções de cadeia de caracteres colocadas onde quer que um argumento de texto seja esperado: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute e Replace.
    • Nas fórmulas implícitas, como 12 & "foo", 12 & 34 ou "foo" & 12.
    • Não há suporte à coerção de número interno para texto. Recomendamos usar Text(Number, Format) para converter um número em texto. No caso em que um argumento String seja passado em uma função Text, o argumento Format não terá suporte.
    • Veja um exemplo usando a função Text para converter um número em texto e acrescentar uma cadeia de caracteres a ele:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Não há suporte aos tokens de formatação específicos da localidade, como "." e "," em colunas de fórmula. Token de formatação específico de localidade sem suporte passado como parâmetro para a função Text na fórmula

Validações de intervalo em colunas de fórmula

  • Não é possível definir as propriedades Valor mínimo ou Valor máximo de uma coluna de fórmula.
  • Todos os cálculos internos devem estar dentro do intervalo do Dataverse para as colunas de fórmula do tipo decimal (-100000000000 a 100000000000).
  • Um valor literal embutido em código inserido na barra de fórmulas deve estar dentro do intervalo do Dataverse.
  • Se houver uma coluna numérica nula, ela será considerada 0 na operação intermediária. Por exemplo, a+b+c and If a = null, b=2, c=3, então a coluna de fórmula fornece 0 + 2 + 3 = 5.
    • Esse comportamento é diferente das colunas calculadas neste caso porque as colunas calculadas fornecem null + 2 + 3 = null.

Validações gerais em colunas de fórmula

  • As colunas de fórmula podem fazer referência a outras colunas de fórmula, mas uma coluna de fórmula não pode fazer referência a si mesma.
  • As colunas de fórmula não oferecem suporte a cadeias cíclicas, como F1 = F2 + 10, F2 = F1 * 2.
  • O tamanho máximo da expressão de fórmula nas colunas de fórmula é de 1.000 caracteres.
  • A profundidade máxima permitida nas colunas da fórmula é 10. Profundidade é definida como a cadeia de colunas de fórmula que fazem referência a outras colunas de fórmula ou cumulativas.
    • Por exemplo, table E1, F1 = 1*2, table E2, F2 - E1*2. Neste exemplo, a profundidade de F2 é 1.
  • Em aplicativos baseados em modelo, a classificação permanece desabilitada em:
    • Uma coluna de fórmula contendo uma coluna de uma tabela relacionada.
    • Uma coluna de fórmula contendo uma coluna lógica (por exemplo, uma coluna de endereço).
    • Uma coluna de fórmula contendo outra coluna ou fórmula calculada.
    • Uma coluna de fórmula usando uma função vinculada ao tempo UTCNow().
  • Não há suporte a colunas do tipo Número Inteiro com formato Idioma, Duração, Fuso Horário nas colunas de fórmula.
  • Não há suporte a colunas do tipo Cadeia de Caracteres com formato Email, Área de Texto, Símbolo de Ação, URL nas colunas de fórmula.
  • As colunas de fórmula não exibem valores quando o aplicativo está no modo offline.
  • Não é possível desencadear fluxos de trabalho ou plug-ins em colunas de fórmula.
  • Não recomendamos o uso de colunas calculadas em colunas de fórmula e vice-versa.
  • As regras de detecção de duplicidades não são desencadeadas em colunas de fórmula.
  • A função Now pode ser usada com colunas de fórmula. Now() tem comportamento Local do Usuário e UTCNow() tem comportamento independente de fuso horário.
  • Você pode definir a propriedade de precisão para colunas decimais.
  • O valor do tipo de dados da fórmula padrão é definido como Decimal para fórmulas que retornam valores numéricos.
  • A atualização do formato da coluna de fórmula de número inteiro não é suportada.

No momento, não há suporte a funções do Power Fx

  • Power
  • Sqrt
  • Exp
  • Ln
  • ^ (operador)

Colunas de fórmula de tipos de dados que não podem ser produzidos

  • Opções (exceto opção Sim/Não)
  • Currency

Ver também

Tipos de coluna

Visão geral do Microsoft Power Fx

Colunas de fórmula, calculadas e de valor acumulado usando código