Trabalhar com colunas de fórmula
As colunas de fórmula são colunas que apresentam um valor calculado numa tabela do Microsoft Dataverse. Fórmulas usam Power Fx, uma linguagem de programação poderosa, mas amigável ao ser humano. 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
Inicie 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:
- A nome a apresentar para a coluna.
- Opcionalmente, insira uma Descrição da coluna.
Para Tipo de dados, selecione fx Formula.
Digite a fórmula ou use sugestões de fórmula:
Introduza Power Fx a fórmula na caixa Fórmula . Para obter mais informações: Digite uma fórmula
- Selecione propriedades adicionais:
- Selecione Pesquisável se quiser que esta coluna esteja disponível em modos de exibição, gráficos, painéis e Localização 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 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.
A coluna de fórmula exibe o resultado de Preço multiplicado por 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 você pode alterar a fórmula depois de criar a coluna somente quando ela não alterar a tipo de coluna.
Por exemplo, o preço da fórmula * desconto cria uma tipo de coluna de número. Você pode alterar o preço * desconto para preço * (desconto + 10%) porque isso não altera o tipo de coluna. No entanto, você não pode alterar o preço * desconto para Texto (preço * desconto) porque isso exigiria alterar o tipo de coluna para string.
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 caraterísticas de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado 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 habilitar esse recurso, você deve habilitar a configuração de ambiente de sugestões de IA para colunas de fórmula. Para obter mais informações: Sugestões de IA para colunas de fórmulas
Exemplo de entrada em liguagem natural
Imagine que há uma coluna de classificação de clientes que mostra 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 Bom e se for inferior a 5 indique como Média e se o valor estiver em branco ou zero, exiba como Ruim e selecione o botão de seta (enter).
Em seguida, copie a Fórmula sugerida .
E cole-o na caixa Digite 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 assim.
Responsável IA
Para obter informações sobre IA responsável, consulte estes recursos:
- Perguntas frequentes sobre a criação de aplicativos e tabelas por meio de conversas
- FAQ sobre o uso responsável da IA em Power Apps
Operadores
Pode utilizar os seguintes operadores numa coluna de fórmula:
+, -, *, /, %, em, exactin, &
Para obter mais informações, vá para Operadores em Power Apps.
Tipos de dados
Pode apresentar os seguintes tipos de dados numa coluna de fórmula:
- Texto
- Número decimal
- Número inteiro
- Flutuador
- Escolha booleano (Sim/Não)
- Escolha (anteriormente conjuntos de opções)
- Datetime
Para obter mais informações: Criar colunas de fórmula com tipos de dados decimais, números inteiros, flutuação e escolha\
O tipo de dados de moeda não é suportado no momento.
Tipos de funções
Pode utilizar os seguintes tipos de funções numa coluna de fórmulas:
- Decimal
- Cadeia (de carateres)
- Boolean
- Opção
- 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
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 Texto e Valor só funcionam com números inteiros, onde nenhum separador decimal está envolvido. 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 em colunas de fórmula.
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.
- A utilização direta de colunas de moeda e taxa de câmbio na fórmula não é atualmente suportada. O uso de colunas de moeda e taxa de câmbio é conseguido através da
Decimal
função, comoDecimal(currency column)
ouDecimal(exchange rate)
. ADecimal
função 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 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 você quiser um resultado semelhante, você pode usar uma moeda tipo de coluna 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
DateDiff
função, certifique-se de que:- A coluna de comportamento local do utente não pode ser comparada ou usada com uma coluna de
DateTime(TZI)/DateOnly
comportamento. - 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.
DateTime(TZI)
As colunas de comportamento podem ser comparadas ou usadas emDateDiff
funções com outraDateTime(TZI)/DateOnly
coluna de comportamento.DateOnly
as colunas de comportamento podem ser comparadas ou usadas na função DateDiff com outraDateTime(TZI)/DateOnly
coluna de comportamento.
- A coluna de comportamento local do utente não pode ser comparada ou usada com uma coluna de
- Colunas de data e hora e funções
UTCNow()
de hora de data,Now()
não podem ser passadas como um parâmetro para funções de cadeia de caracteres.
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 registro 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órmula, que depende de funções
UTCNow()
com limite de tempo eUTCToday()
não pode ser usada em um campo de rollup.
Recomendações de função de texto do Power Fx
As colunas de fórmulas não suportam
Text()
funções 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, tais como
12 & "foo"
, ou12 & 34
, ou"foo" & 12
. - O número inteiro para coerção de texto não é suportado. Recomendamos o uso
Text(Number, Format)
para converter um número em texto. No caso em que umString
argumento é passado em umaText
função, oFormat
argumento não é suportado. - Aqui está um exemplo usando a
Text
função para converter um número em texto e acrescentar uma cadeia de caracteres a ele:
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, tais 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 cumulativas.
- Por exemplo,
table E1, F1 = 1*2, table E2, F2 - E1*2
. Neste exemplo, a profundidade de F2 é 1.
- Por exemplo,
- Em aplicativos controlados por modelo, a classificaçã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 usa a função de limite de tempo
UTCNow()
.
- 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
Now
função pode ser usada com colunas de fórmula.Now()
tem comportamento local do utente eUTCNow()
tem comportamento independente de 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.
Colunas de fórmulas de tipos de dados que não podem ser produzidos
- Moeda
Veja também
Descrição Geral do Microsoft Power Fx
Colunas de fórmula, calculadas e de rollup através de código