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 Power Fx, uma linguagem de programação poderosa, mas 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
Entre no Power Apps em https://make.powerapps.com.
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.
Select a área Colunas e depois Select Nova coluna.
Insira as seguintes informações:
- Um Nome de exibição para a coluna.
- Opcionalmente, insira uma Descrição da coluna.
Para Tipo de dados Select fx Fórmula.
Digite a fórmula ou use sugestões de fórmula:
Insira a Power Fx fórmula na caixa Fórmula . Mais informações: Digite uma fórmula
- Select propriedades adicionais:
- Select Pesquisável se você quiser que esta coluna esteja disponível em visualizações, gráficos, painéis e Pesquisa 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.
- 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 dado de número inteiro. A coluna Preço é um tipo de dado decimal.
A coluna de fórmula exibe o resultado de Preço multiplicado por Número de unidades.
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ê pode alterar a fórmula depois de criar a coluna somente quando isso 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 altera o tipo de coluna. Entretanto, você não pode alterar price * discount para Text(price * discount) porque isso exigiria alterar tipo de coluna para string.
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 versão preliminar 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 forneçam 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 colunas de fórmula
Exemplo de entrada de linguagem natural
Imagine uma coluna de Avaliação do cliente de There que mostra sua classificação por conta.
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 maior que 5, indique como Bom e se for menor que 5, indique como Médio e se o valor estiver em branco ou zero, exiba como Ruim e, em seguida, pressione Select o botão de seta (enter).
Em seguida, copie a Fórmula sugerida.
E cole-o na caixa Digite uma fórmula . Selecione Salvar.
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 de fórmula Descrição da classificação computada, que aparece assim.
IA responsável
Para obter informações sobre IA responsável, acesse estes recursos:
- Perguntas frequentes sobre como criar aplicativos e tabelas por meio de conversação
- Perguntas frequentes sobre o uso responsável da IA em Power Apps
Operadores
Você pode usar os seguintes operadores em uma coluna de fórmula:
+, -, *, /, %, in, exactina, &
Para mais informações, acesse Operadores em Power Apps.
Tipos de dados
É possível exibir os seguintes tipos de dados em uma coluna de fórmula:
- Texto
- Número decimal
- Número inteiro
- Flutuador
- Booliano Escolha (Sim/Não)
- Escolha (anteriormente conjuntos de opções)
- Datetime
Mais informações: Criar colunas de fórmula com tipos de dados decimais, inteiros, flutuantes e de escolha\
O tipo de dados de moeda não é suportado no momento.
Tipos de função
É possível usar os seguintes tipos de função em uma coluna de fórmula:
- Decimal
- String
- Boolean
- Opção
- 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
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 funcionam somente 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.
* O argumento StartOfWeek não é suportado pelas funções WeekNum e Weekday em colunas de fórmula.
Exemplo de função
Description | Exemplo |
---|---|
Recupere um valor de data. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
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.
- 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 é obtido por meio da função
Decimal
, comoDecimal(currency column)
ouDecimal(exchange rate)
. A função garante que a saída esteja dentro do intervalo aceito.Decimal
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ê pode usar uma moeda tipo de coluna junto com uma combinação de colunas 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 local do usuário não pode ser comparada ou usada com uma
DateTime(TZI)/DateOnly
coluna de comportamento. - 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.
DateTime(TZI)
colunas de comportamento podem ser comparadas ou usadas emDateDiff
funções com outraDateTime(TZI)/DateOnly
coluna de comportamento.DateOnly
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 usuário não pode ser comparada ou usada com uma
- 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 string.
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 usa valores codificados. Para colunas cumulativas, as colunas de fórmula devem ser colunas de fórmula simples, como este exemplo de coluna cumulativa.
- Uma coluna de fórmula, que depende de funções com limite de tempo
UTCNow()
eUTCToday()
não pode ser usada em um campo de rollup.
Recomendações da função text do Power Fx
Colunas de fórmula não suportam
Text()
funções com um único argumento do tipo Número. O número pode ser inteiro, decimal ou monetário.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"
, ou12 & 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 umString
argumento é passado em umaText
função, então oFormat
argumento não é suportado. - Here's um exemplo usando a função
Text
para converter um número em texto e anexar uma string 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.
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
a coluna de fórmula fornece0 + 2 + 3 = 5
.- Esse comportamento é diferente das colunas calculadas neste caso porque as colunas calculadas fornecem
null + 2 + 3 = null
.
- Esse comportamento é diferente das colunas calculadas neste caso porque as colunas calculadas fornecem
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.
- Colunas de fórmula não suportam 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 se referem a outras colunas de fórmula ou rollup.
- Por exemplo,
table E1, F1 = 1*2, table E2, F2 - E1*2
. Neste exemplo, a profundidade de F2 é 1.
- Por exemplo,
- Em aplicativos baseados em modelos, a classificação é 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 que usa a função com limite de 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 pode ser usada com colunas de fórmula.
Now
Now()
tem comportamento local do usuário eUTCNow()
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.
Colunas de fórmula de tipos de dados que não podem ser produzidos
- Currency
Ver também
Visão geral da Microsoft Power Fx
Colunas de fórmula, calculadas e de valor acumulado usando código