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ê pode estar familiarizado com esse conceito trabalhando com fórmulas em tabelas do Excel.
No entanto, o contexto de linha não se estende 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
RELATED
ouRELATEDTABLE
. A funçãoRELATED
recupera o valor do lado um do relacionamento, enquantoRELATEDTABLE
recupera valores do lado muitos. A funçãoRELATEDTABLE
retorna um objeto de tabela. - Quando as tabelas não estiverem relacionadas, você poderá usar a função
LOOKUPVALUE
DAX.
Geralmente, 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 como os dados de relacionamento e coluna são armazenados e indexados.
Agora, adicione a seguinte definição da coluna calculada à tabela Vendas:
Discount Amount =
(
Sales[Order Quantity]
* RELATED('Product'[List Price])
) - Sales[Sales Amount]
A definição da coluna calculada adiciona a coluna Valor do Desconto à tabela Vendas. O Power BI avalia a fórmula da coluna calculada para cada linha da tabela Vendas. Os valores das colunas Quantidade de Pedidos e Quantidade de Vendas são recuperados no contexto de linha. Porém, como a coluna Preço de Lista pertence à tabela Produto, a função RELATED
é necessária para recuperar o valor do preço de lista do produto em promoção.
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 do iterador são descritas em um módulo posterior.