Partilhar via


Trabalhar com colunas de fórmula

As colunas de fórmula são colunas que apresentam um valor calculado numa tabela do Microsoft Dataverse. As fórmulas utilizam o Power Fx, uma linguagem de programação poderosa, mas e compreensão simples. Crie uma fórmula numa coluna de fórmula do Dataverse da mesma forma que criaria uma fórmula no Microsoft Excel. À medida que escreve, o IntelliSense sugere funções e sintaxe, ajudando-o até a corrigir erros.

Adicionar uma coluna de fórmulas

  1. Iniciar sessão no Power Apps em https://make.powerapps.com.

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

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

  4. Introduza as informações seguintes:

    • Um Nome a apresentar para a coluna.
    • Opcionalmente, introduza uma Descrição da coluna.
  5. Para Tipo de dados selecione Fórmula fx.

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

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


  1. Selecione propriedades adicionais:
    • Selecione Pesquisável se pretender que esta coluna fique disponível em vistas, gráficos, dashboards e Pesquisa Avançada.
    • Opções avançadas:
      • Se a fórmula for avaliada com um valor decimal, expanda Opções avançadas para alterar o número de pontos de precisão, entre 0 e 10. O valor predefinido é 2.
  2. Selecione Guardar.

Introduza uma fórmula

O exemplo que se segue cria uma coluna de fórmula denominada 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 ecrã de uma definição de coluna de fórmula.

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

Captura de ecrã de um registo com uma coluna de fórmula.

A fórmula que introduziu determina o tipo de coluna. Não pode alterar um tipo de coluna depois dela ser criada. Isso significa que pode alterar a fórmula depois de criar a coluna apenas se não alterar o tipo de coluna.

Por exemplo, a fórmula preço * desconto cria um tipo de coluna de número. Pode alterar preço * desconto para preço * (desconto + 10%) porque isto não altera o tipo de coluna. No entanto, não é possível alterar preço * desconto para Texto(preço * desconto) porque isso exigiria alterar o tipo de coluna para a cadeia.

Obter sugestões de fórmulas (pré-visualização)

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

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

Importante

Trata-se de uma funcionalidade de pré-visualização disponível apenas nas regiões dos Estados Unidos.

As funcionalidades de pré-visualização não se destinam à produção e poderão ter funcionalidades restritas. Estas funcionalidades estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.

Atualmente, as sugestões de fórmulas que fazem referência a uma única tabela são suportadas. As sugestões de fórmulas que fazem referência a uma coluna ou tabela relacionadas não são suportadas.

Pré-requisitos

Para ativar esta funcionalidade, tem de ativar a definição do ambiente Sugestões de IA para colunas de fórmulas. Mais informações: Sugestões de IA para colunas de fórmula

Exemplo de entrada em liguagem natural

Imagine que há uma coluna de Classificação de clientes que mostra a sua classificação por conta. Exemplo de coluna de classificação de clientes

Na caixa Obter sugestões de fórmulas, introduza a fórmula em linguagem natural, como Se a classificação na coluna de classificação for igual ou superior a 5, indique como Boa e se for inferior a 5 indique como Média e se o valor estiver em branco ou zero, apresente como Má e, em seguida, selecione o botão da seta (enter).

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

E cole-a na caixa Digitar uma fórmula. Selecione Guardar. Cole a fórmula na caixa Digitar uma fórmula.

Veja como a fórmula aparece quando 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 Descrição da Classificação calculada, que aparece desta forma.

Verifique os resultados da coluna de fórmulas

Responsável IA

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

Operadores

Pode utilizar os seguintes operadores numa coluna de fórmula:
+, -, *, /, %, in, exactin, &

Para mais informações, aceda Operadores no Power Apps.

Tipos de dados

Pode apresentar os seguintes tipos de dados numa coluna de fórmula:

  • Texto
  • Número decimal
  • Escolha Sim/Não (booleano)
  • Datetime

Os tipos de dados moeda, número inteiro e escolha (anteriormente conjuntos de opções) não são atualmente suportados.

Tipos de funções

Pode utilizar os seguintes tipos de funções numa coluna de fórmulas:

  • Decimal
  • Cadeia (de carateres)
  • Booleano
  • Conjunto de Opções
  • DateTime (TZI)
  • DateTime (Região do utilizador) (limitado a comparações com outros valores de região do utilizador, funções DateAdd e DateDiff)
  • DateTime (Apenas data) (limitado a comparações com outros valores de apenas data, funções DateAdd e DateDiff)
  • Moeda
  • Número Inteiro, promovido a Decimal

Funções

Pode utilizar as seguintes funções escalar numa coluna de fórmulas:

Abs

And

Day

Value *

Se

Int

Len

Mid

Min

Mod

Not

Or

Sum

Text *

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

O argumento * StartOfWeek não é suportado para as funções WeekNum e Weekday nas colunas de fórmulas.

Exemplo de função

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

Diretrizes e limitações

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

Validações de utilização de campos de moeda

  • As colunas de fórmula não suportam a utilização de uma coluna de moeda de tabela relacionada na fórmula, como neste exemplo. Coluna de fórmula com fórmula não suportada de Conta.Receita Anual
  • A utilização direta de colunas de moeda e taxa de câmbio na fórmula não é atualmente suportada. A utilização de colunas de moeda e taxa de câmbio é conseguido através 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 aceite. Se o valor da coluna de moeda ou taxa de câmbio exceder o intervalo aceite, a fórmula devolve null.
  • As colunas de moeda base não são suportadas nas expressões de coluna de fórmula porque são colunas do sistema usadas para fins de relatório. Se quiser um resultado semelhante, pode 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 utilização 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 noutra 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 da região do utilizador não pode ser comparada ou usada com uma coluna de comportamento DateTime(TZI)/DateOnly.
    • As colunas de comportamento da região do utilizador só podem ser comparadas ou usadas com outra coluna de comportamento da região do utilizador.
    • 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
  • As colunas de data/hora e as funções de data/hora UTCNow(), Now() não podem ser transmitidas como um parâmetro para funções de cadeia. Coluna de fórmulas com parâmetro de data/hora não suportado transmitido na fórmula

Utilização da coluna de fórmulas em campos de rollup

  • Uma coluna de fórmula simples é quando a fórmula usa colunas do mesmo registo ou usa valores codificados. Para colunas de rollup, as colunas de fórmula devem ser colunas de fórmula simples, como este exemplo de coluna de rollup. Exemplo de coluna de fórmula simples para uma coluna de rollup Exemplo de configuração de coluna de rollup
  • Uma coluna de fórmulas que dependa de funções dependentes do tempo UTCNow() e UTCToday() não pode ser utilizada num campo de rollup.

Recomendações de função de texto do Power Fx

  • As colunas de fórmulas não suportam funções Text() com um único argumento do tipo Número. O número pode ser inteiro, decimal ou moeda. Coluna de fórmula com função de texto não suportada com um argumento numérico

  • As colunas de fórmulas não suportam a utilização de números nas seguintes configurações:

    • Em funções de cadeia. Estas são funções de cadeia colocadas sempre que um argumento de texto é esperado: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute, and Replace.
    • Nas fórmulas implícitas, como 12 & "foo" ou 12 & 34 ou "foo" & 12.
    • O número inteiro para coerção de texto não é suportado. Recomendamos a utilização de Text(Number, Format) para converter um número em texto. No caso em que um argumento String é passado numa função Text, o argumento Format não é suportado.
    • Aqui está um exemplo utilizando a função Text para converter um número em texto e acrescentar uma cadeia ao mesmo:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Tokens de formatação específicos da região, como "." e "," não são suportados em colunas de fórmula. Token de formatação específico da região não suportado transmitido como parâmetro para a função Text na fórmula

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

  • 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 colunas de fórmula de tipo decimal (-100000000000 a 100000000000).
  • Um valor literal codificado introduzido na barra de fórmulas deve estar dentro do intervalo do Dataverse.
  • Se houver uma coluna numérica que é null, 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 dá 0 + 2 + 3 = 5.
    • Esse comportamento é diferente das colunas calculadas neste caso porque as colunas calculadas dão null + 2 + 3 = null.

Validações gerais em colunas de fórmulas

  • As colunas de fórmula podem fazer referência a outras colunas de fórmulas, mas uma coluna de fórmula não pode fazer referência a si própria.
  • As colunas de fórmulas não suportam cadeias cíclicas, como F1 = F2 + 10, F2 = F1 * 2.
  • O comprimento máximo da expressão da fórmula nas colunas de fórmula é de 1000 caráteres.
  • A profundidade máxima permitida nas colunas de fórmula é 10. A profundidade é definida como a cadeia de colunas de fórmulas que se refere a outras fórmulas ou colunas de rollup.
    • Por exemplo, table E1, F1 = 1*2, table E2, F2 - E1*2. Neste exemplo, a profundidade de F2 é 1.
  • Em aplicações condicionadas por modelo, a ordenação está desativada em:
    • Uma coluna de fórmula que contém uma coluna de uma tabela relacionada.
    • Uma coluna de fórmula que contém uma coluna lógica (por exemplo, a coluna de endereço).
    • Uma coluna de fórmula que contém outra coluna de fórmula calculada.
    • Uma coluna de fórmula que utiliza a função UTCNow() com limite de tempo.
  • As colunas do tipo Número Inteiro com formato de Idioma, Duração, Fuso Horário não são suportadas em colunas de fórmulas.
  • As colunas do tipo Cadeia com formato E-mail, Área de Texto, Símbolo do Ticker, URL não são suportadas em colunas de fórmulas.
  • As colunas de fórmula não apresentam valores quando a aplicação está no modo móvel offline.
  • Não pode acionar fluxos de trabalho ou plug-ins em colunas de fórmulas.
  • Não recomendamos a utilização de colunas calculadas em colunas de fórmulas e vice-versa.
  • As regras de deteção de duplicados não são acionadas em colunas de fórmulas.
  • A função Now pode ser utilizada com colunas de fórmula. Now() tem comportamento da região do utilizador e UTCNow() tem comportamento independente do fuso horário.
  • Pode definir a propriedade precisão para colunas decimais.

Funções do Power Fx não suportadas atualmente

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

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

  • Número Inteiro
  • Escolhas (exceto escolha Sim/Não)
  • Moeda

Consulte também

Tipos de coluna

Descrição Geral do Microsoft Power Fx

Colunas de fórmula, calculadas e de rollup através de código