PBI - DAX - Referência de DAX
PBI - DAX - Referência de DAX
PBI - DAX - Referência de DAX
LOOKUPVALUE
20/10/2020 • 3 minutes to read
Retorna o valor da linha que atende a todos os critérios especificados por um ou mais critérios de pesquisa.
Sintaxe
LOOKUPVALUE(
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parâmetros
T ERM O DEF IN IÇ Ã O
Valor retornado
O valor de result_column na linha em que todos os pares de search_column e search_value têm uma
correspondência exata.
Caso não haja uma correspondência que satisfaça todos os valores de pesquisa, será retornado BLANK ou
alternateResult (se fornecido). Isso significa que a função não retornará um valor de pesquisa caso somente
alguns dos critérios sejam atendidos.
Caso várias linhas correspondam aos valores de pesquisa e, em todos os casos, os valores de result_column
forem idênticos, esse valor será retornado. No entanto, caso result_column retorne valores diferentes, um erro
ou alternateResult (se fornecido) será retornado.
Comentários
Se houver uma relação entre as tabelas de resultado e de pesquisa, na maioria dos casos, o uso da função
RELATED em vez de LOOKUPVALUE será mais eficiente e fornecerá melhor desempenho.
S04_PWBIOP_A22. Trazendo valores de outras tabelas - LOOKUP_11mim
APLICAÇÃO
VlV. Frete =
LOOKUP(
ref_AuxFrete[VL.Frete],
ref_AuxFrete[idNota], fVendas[idNota]
) =
Através da coluna VL. Frete da tab ref_AuxFrete ser faz a comparação das linhas da col ref_AuxFrete[IdNota] com
fVendas[idNotas]
S05_DAG_A29. Funções Agregadoras - SUM_11mim 26/11/2022
SUM
22/09/2020 • 2 minutes to read
Sintaxe
SUM(<column>)
Parâmetros
T ERM O DEF IN IÇ Ã O
Valor retornado
Um número decimal.
Comentários
Se você quiser filtrar os valores que está somando, poderá usar a função SUMX e especificar uma expressão para
efetuar a soma.
Exemplo
O exemplo a seguir soma todos os números contidos na coluna AMT da tabela Sales.
= SUM(Sales[Amt])
Consulte também
SUMX
S05_DAG_A32. Agregando com AVERAGE e MAX_7mim 27/11/2022
MAX
30/09/2020 • 2 minutes to read
Sintaxe
MAX(<column>)
MAX(<expression1>, <expression2>)
Parâmetros
T ERM O DEF IN IÇ Ã O
Retornar valor
O maior valor.
Comentários
Ao comparar duas expressões, o espaço em branco é tratado como 0 durante a comparação. Ou seja, Max
(1, Blank()) retorna 1 e Max (-1, Blank()) retorna 0. Se ambos os argumentos estiverem em branco, a função
MAX retornará um espaço em branco. Se qualquer uma das expressões retornar um valor que não é
permitido, a função MAX retornará um erro.
Não há suporte para valores TRUE/FALSE. Caso você deseje avaliar uma coluna de valores TRUE/FALSE, use
a função MAXA.
Exemplo 1
O exemplo a seguir retorna o maior valor encontrado na coluna ExtendedAmount da tabela InternetSales.
= MAX(InternetSales[ExtendedAmount])
Exemplo 2
O exemplo a seguir retorna o maior valor entre o resultado de duas expressões.
= Max([TotalSales], [TotalPurchases])
Consulte também
AVERAGE
22/09/2020 • 3 minutes to read
Sintaxe
AVERAGE(<column>)
Parâmetros
T ERM O DEF IN IÇ Ã O
Valor retornado
Retorna um número decimal que representa a média aritmética dos números na coluna.
Comentários
Essa função usa a coluna especificada como um argumento e localiza a média dos valores nessa coluna. Se
você quiser localizar a média de uma expressão avaliada como um conjunto de números, use a função
AVERAGEX em vez disso.
Os valores não numéricos na coluna são tratados da seguinte maneira:
Se a coluna contiver texto, nenhuma agregação poderá ser executada e as funções retornarão espaços
em branco.
Se a coluna contiver valores lógicos ou células vazias, esses valores serão ignorados.
As células com o valor zero são incluídas.
Ao calcular a média de células, você deve ter em mente a diferença entre uma célula vazia e uma célula que
contém o valor 0 (zero). Quando uma célula contém 0, ela é adicionada à soma dos números e a linha é
contada entre o número de linhas usadas como o divisor. No entanto, quando uma célula contém um
espaço em branco, a linha não é contada.
Sempre que não houver linhas para agregação, a função retornará um valor em branco. No entanto, se
houver linhas, mas nenhuma delas atender aos critérios especificados, a função retornará 0. O Excel
também retornará um zero se não for encontrada nenhuma linha que atenda às condições.
Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em
nível de linha) ou colunas calculadas.
Exemplo
A fórmula a seguir retorna a média dos valores na coluna, ExtendedSalesAmount, na tabela, InternetSales.
= AVERAGE(InternetSales[ExtendedSalesAmount])
RELATED
15/12/2020 • 5 minutes to read
Sintaxe
RELATED(<column>)
Parâmetros
T ERM O DEF IN IÇ Ã O
Valor retornado
Um único valor que está relacionado à linha atual.
Comentários
A função RELATED requer que exista uma relação entre a tabela atual e a tabela com informações
relacionadas. Você especifica a coluna que contém os dados desejados e a função segue uma relação
muitos para um existente para buscar o valor na coluna especificada na tabela relacionada. Se não existir
uma relação, você precisará criar uma.
Quando a função RELATED executa uma pesquisa, ela examina todos os valores na tabela especificada,
independentemente dos filtros que possam ter sido aplicados.
A função RELATED precisa de um contexto de linha. Portanto, ela só pode ser usada na expressão de
coluna calculada, em que o contexto da linha atual não é ambíguo, ou como uma função aninhada em uma
expressão que usa uma função de verificação de tabela. Uma função de verificação de tabela, como SUMX,
obtém o valor do valor da linha atual e examina outra tabela em busca de instâncias desse valor.
A função RELATED não pode ser usada para buscar uma coluna em uma relação limitada.
Exemplo
No exemplo a seguir, a medida de Vendas pela Internet fora dos EUA é criada para produzir um relatório de
vendas que exclui as vendas no Estados Unidos. Para criar a medida, a tabela InternetSales_USD deve ser filtrada
para excluir todas as vendas que pertencem ao Estados Unidos na tabela SalesTerritory. Os Estados Unidos, como
um país, são exibidos cinco vezes na tabela SalesTerritory; uma vez para cada uma das seguintes regiões:
Noroeste, Nordeste, Centro, Sudoeste e Sudeste.
A primeira abordagem para filtrar as Vendas pela Internet a fim de criar a medida pode ser adicionar uma
expressão de filtro como a seguinte:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 &&
'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 &&
'InternetSales_USD'[SalesTerritoryKey]<>5)
No entanto, essa abordagem é bem intuitiva, sujeita a erros de digitação e poderá não funcionar se alguma das
regiões existentes for dividida no futuro.
Uma abordagem melhor seria usar a relação existente entre InternetSales_USD e SalesTerritory e declarar
explicitamente que o país deve ser diferente dos Estados Unidos. Para fazer isso, crie uma expressão de filtro
como a seguinte:
Essa expressão usa a função RELATED para pesquisar o valor do país na tabela SalesTerritory, começando com o
valor da coluna de chave, SalesTerritoryKey, na tabela InternetSales_USD. O resultado da pesquisa é usado pela
função de filtro para determinar se a linha InternetSales_USD é filtrada ou não.
NOTE
Se o exemplo não funcionar, talvez seja necessário criar uma relação entre as tabelas.
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
A tabela a seguir mostra apenas os totais de cada região, para provar que a expressão de filtro na medida, Vendas
pela Internet fora dos EUA, funciona conforme o esperado.
VEN DA S P EL A IN T ERN ET F O RA DO S
RÓT ULO S DE L IN H A IN T ERN ET SA L ES EUA
A tabela a seguir mostra o relatório final que você poderá obter se tiver usado essa medida em uma Tabela
Dinâmica:
VEN DA S P EL A
IN T ERN ET F O RA DO S RÓT ULO S DE
EUA C O L UN A
Grande Total US$ 384.639,63 US$ 16.107.890,23 US$ 172.817,81 US$ 16.665.347,67
Confira também
RELATEDTABLE
Funções de filtro