evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmoEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Avalia uma expressão em um contexto de filter modificado.
Nota
Há também a função CALCULATETABLE. Ele executa exatamente a mesma funcionalidade except modifica o contexto filter aplicado a uma expressão que retorna um objeto de tabela .
CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])
Vigência | Definição |
---|---|
expression |
A expressão a ser avaliada. |
filter1, filter2,… |
(Opcional) Expressões booleanas or expressões de tabela que definem filters, orfilter funções modificadoras. |
A expressão usada como parâmetro first é essencialmente a mesma que um measure.
Filters pode ser:
Quando há vários filters, eles podem ser avaliados usando o operador lógico AND (&&
) , o que significa que all condições devem ser TRUE
, or pelo operador lógico OR (||
), o que significa que qualquer condição pode ser true.
Uma expressão booleana filter é uma expressão que avalia a TRUE
orFALSE
. Existem várias regras que devem cumprir:
A partir da versão de setembro de 2021 do Power BI Desktop, o seguinte também se aplica:
Total sales on the last selected date =
CALCULATE (
SUM ( Sales[Sales Amount] ),
'Sales'[OrderDateKey] = MAX ( 'Sales'[OrderDateKey] )
)
Uma expressão de tabela filter aplica um objeto de tabela como um filter. Pode ser uma referência a uma tabela de modelo, mas é mais provável que seja uma função que retorna um objeto de tabela. Você pode usar a função FILTER para aplicar condições de filter complexas, incluindo aquelas que não podem ser definidas por uma expressão filter booleana.
Filter funções modificadoras permitem que você faça mais do que simplesmente adicionar filters. Eles fornecem controle adicional ao modificar filter contexto.
Função | Finalidade |
---|---|
REMOVEFILTERS | Remova allfilters, orfilters de uma or mais colunas de uma tabela or de all colunas de uma única tabela. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Remova filters de uma or mais colunas or de all colunas de uma única tabela. |
KEEPFILTERS | Adicione filter sem remover filters existentes nas mesmas colunas. |
USERELATIONSHIP | Envolva uma relação inativa entre related colunas, caso em que a relação ativa se tornará automaticamente inativa. |
CROSSFILTER | Modifique filter direção (de ambos para únicos, or de único para ambos) or desative um relacionamento. |
1 A função ALLand suas variantes se comportam como modificadores filterand como funções que retornam objetos de tabela. If a função REMOVEFILTERS for suportada pela sua ferramenta, é melhor usá-la para remover filters.
O value que é o resultado da expressão.
Quando filter expressões são fornecidas, a função CALCULATE modifica o contexto filter para evaluate a expressão. Para cada expressão filter, há dois resultados padrão possíveis quando a expressão filter é not encapsulada na função KEEPFILTERS:
A função CALCULATE utilizada sem filters atinge um requisito específico. Ele faz a transição do contexto da linha para o contexto filter. É necessário quando uma expressão (not um modelo measure) que resume os dados do modelo precisa ser avaliada no contexto de linha. Esse cenário pode acontecer em uma fórmula de coluna calculada or quando uma expressão em uma função iteradora é avaliada. Observe que quando um modelo measure é usado no contexto de linha, a transição de contexto é automática.
Esta função not é suportada para uso no modo DirectQuery quando usada em colunas calculadas or regras de segurança em nível de linha (RLS).
A seguinte Tabela Vendas measure definição produz um resultado de receita, mas apenas para produtos que têm a cor azul.
Exemplos neste artigo podem ser usados com o modelo sample Adventure Works DW 2020 Power BI Desktop. Para obter o modelo, consulte DAXsample modelo.
Blue Revenue =
CALCULATE(
SUM(Sales[Sales Amount]),
'Product'[Color] = "Blue"
)
Categoria | Valor das vendas | Receita Azul |
---|---|---|
Acessórios | $1.272.057,89 | $165,406.62 |
Bicicletas | $94,620,526.21 | $8,374,313.88 |
Vestuário | $2.117.613,45 | $259,488.37 |
Componentes | $11,799,076.66 | $803,642.10 |
Total | $109.809.274,20 | $9,602,850.97 |
A função CALCULATE avalia a sum da tabela Salescoluna Sales Amount em um contexto de filter modificado. Uma nova filter é adicionada à tabela Productcoluna Cor —or, o filter substitui qualquer filter que já tenha sido aplicado à coluna.
A seguinte Tabela de de vendas measure definição produz uma relação entre vendas e vendas para all canais de vendas.
Canal | Valor das vendas | Receita % Canal Total |
---|---|---|
Internet | $29.358.677,22 | 26.74% |
Revendedor | $80,450,596.98 | 73.26% |
Total | $109.809.274,20 | 100,00% |
Revenue % Total Channel =
DIVIDE(
SUM(Sales[Sales Amount]),
CALCULATE(
SUM(Sales[Sales Amount]),
REMOVEFILTERS('Sales Order'[Channel])
)
)
A função DIVIDE divide uma expressão que soma da tabela SalesSales Amount coluna value (no contexto filter) pela mesma expressão em um contexto filter modificado. É a função CALCULATE que modifica o contexto filter usando a função REMOVEFILTERS, que é uma função modificadora filter. Ele remove filters da tabela Ordem de Venda coluna Canal.
A definição de coluna calculada da tabela Cliente a seguir classifica os clientes em uma classe de fidelidade. É um cenário muito simples: quando a receita produzida pelo cliente é inferior a $2500, eles são classificados como Baixo; caso contrário, eles são High.
Customer Segment =
IF(
CALCULATE(SUM(Sales[Sales Amount]), ALLEXCEPT(Customer, Customer[CustomerKey])) < 2500,
"Low",
"High"
)
Neste exemplo, o contexto de linha é convertido para o contexto filter. É conhecida como transição de contexto. A função
Filter contexto
de contexto da linha
CALCULATETABLE função
Filter funções
evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmo