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
Iniciar sessão no Power Apps em https://make.powerapps.com.
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.
Selecione a área Colunas e, em seguida, selecione Nova coluna.
Introduza as informações seguintes:
- Um Nome a apresentar para a coluna.
- Opcionalmente, introduza uma Descrição da coluna.
Para Tipo de dados selecione Fórmula fx.
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
- 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.
- 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.
A coluna de fórmula apresenta o resultado de Preço multiplicado pelo Número de unidades.
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.
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.
E cole-a na caixa Digitar uma fórmula. Selecione Guardar.
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.
Responsável IA
Para obter informações sobre IA responsável, consulte estes recursos:
- FAQ sobre a criação de aplicações e tabelas através de conversações
- FAQ sobre a utilização de IA responsavelmente no Power Apps
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
- Número inteiro
Os tipos de dados de moeda e escolha (anteriormente conjuntos de opções) não são suportados no momento.
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:
Value *
Text *
Decimal *
* 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) |
Criar uma coluna de fórmula decimal
Crie uma coluna de fórmula que devolve um número decimal.
- Ao criar uma coluna, insira as seguintes informações:
- Um Nome a apresentar para a coluna.
- Opcionalmente, introduza uma Descrição da coluna.
- Para Tipo de dados selecione Fórmula fx.
- Introduza uma fórmula que devolve um valor numérico na Barra de fórmulas . Este exemplo cria uma coluna de fórmula chamada Valor Total. A coluna preço unitário é do tipo de dados decimal.
- Expanda Opções avançadas, selecione Decimal como o tipo de dados Fórmula e defina o número necessário de casas decimais.
- Selecione Guardar.
Criar uma coluna de fórmula de número inteiro
Crie uma coluna de fórmula que devolva um número inteiro.
- Ao criar uma coluna, insira as seguintes informações:
- Um Nome a apresentar para a coluna.
- Opcionalmente, introduza uma Descrição da coluna.
- Para Tipo de dados selecione Fórmula fx.
- Introduza uma fórmula que devolve um valor numérico na Barra de fórmulas . Este exemplo cria uma coluna de fórmula chamada Number of Units. Preço Total e preço unitário colunas são do tipo de dados decimais.
- Expanda Opções avançadas e selecione Número inteiro como o tipo de dados Fórmula e defina o formato necessário para a coluna de número inteiro.
- Selecione Guardar.
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.
- 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
, comoDecimal(currency column)
ouDecimal(exchange rate)
. A funçãoDecimal
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çõesDateDiff
com outra coluna de comportamentoDateTime(TZI)/DateOnly
. - As colunas de comportamento
DateOnly
podem ser comparadas ou usadas em funções DateDiff com outra coluna de comportamentoDateTime(TZI)/DateOnly
.
- A coluna de comportamento da região do utilizador não pode ser comparada ou usada com uma coluna de comportamento
- 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.
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.
- Uma coluna de fórmulas que dependa de funções dependentes do tempo
UTCNow()
eUTCToday()
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.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"
ou12 & 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 argumentoString
é passado numa funçãoText
, o argumentoFormat
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.
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
.
- Esse comportamento é diferente das colunas calculadas neste caso porque as colunas calculadas dão
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.
- Por exemplo,
- 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 eUTCNow()
tem comportamento independente do fuso horário. - Pode definir a propriedade precisão para colunas decimais.
- O valor do tipo de dados de fórmula padrão é definido como Decimal para o valor numérico que retorna fórmulas.
- Não há suporte para a atualização do formato da coluna da fórmula de número inteiro.
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
- Escolhas (exceto escolha Sim/Não)
- Moeda
Consulte também
Descrição Geral do Microsoft Power Fx
Colunas de fórmula, calculadas e de rollup através de código