Saiba mais sobre o contexto de linha
Agora que você criou colunas calculadas, você aprenderá como as fórmulas delas são avaliadas.
A fórmula de uma coluna calculada é avaliada para cada linha da tabela. Além disso, ela é avaliada no contexto de linha, o que significa a linha atual. Considere a definição da coluna calculada Ano Fiscal Devido:
Due Fiscal Year =
"FY"
& YEAR('Due Date'[Due Date])
+ IF(
MONTH('Due Date'[Due Date]) <= 6,
1
)
Quando a fórmula é avaliada para cada linha, a referência da coluna 'Due Date'[Due Date]
retorna o valor da coluna para essa linha. Você verá que o Microsoft Excel tem o mesmo conceito para trabalhar com fórmulas em tabelas do Excel.
No entanto, o contexto de linha não é estendido além da tabela. Se a sua fórmula precisar fazer referência a colunas em outras tabelas, você terá duas opções:
- Se as tabelas estiverem relacionadas, direta ou indiretamente, você poderá usar a função DAX
RELATED
ouRELATEDTABLE
. A funçãoRELATED
recupera o valor em um lado da relação, enquantoRELATEDTABLE
recupera valores em vários lados. A funçãoRELATEDTABLE
retorna um objeto de tabela. - Quando as tabelas não estão relacionadas, você pode usar a função DAX
LOOKUPVALUE
.
Em geral, tente usar a função RELATED
sempre que possível. Normalmente, ela terá um desempenho melhor do que a função LOOKUPVALUE
, devido às maneiras que os dados da coluna e da relação são armazenados e indexados.
Agora, adicione a seguinte definição da coluna calculada à tabela Sales:
Discount Amount =
(
Sales[Order Quantity]
* RELATED('Product'[List Price])
) - Sales[Sales Amount]
A definição da coluna calculada adiciona a coluna Discount Amount à tabela Sales. O Power BI avalia a fórmula da coluna calculada para cada linha da tabela Sales. Os valores das colunas Quantidade de Pedidos e Quantidade de Vendas são recuperados no contexto de linha. No entanto, como a coluna List Price pertence à tabela Product, a função RELATED
é necessária para recuperar o valor de preço de lista do produto de venda.
O contexto de linha é usado quando as fórmulas de coluna calculada são avaliadas. Ele também é usado quando uma classe de funções, conhecida como funções de iterador, é usada. As funções de iterador proporcionam flexibilidade para criar resumos sofisticados. As funções de iterador serão descritas em um módulo posterior.