Compreender as funções de iterador

Concluído

Tanto as colunas calculadas como as medidas têm um contexto sobre o qual são avaliadas. O contexto define o grão no qual os cálculos vão ser efetuados. Compreender o contexto e utilizar o contexto de forma eficaz é importante para criar fórmulas de alto desempenho, análises dinâmicas e para resolver problemas em fórmulas.

Antes de falar sobre funções de iterador, tem de analisar dois conceitos de contexto importantes: contexto de linha e contexto de filtro.

Compreender o contexto de linha

O contexto de linha é o grão ou a linha atual; são as divisões de linhas nas quais os dados são avaliados. Todas as funções de iterador são avaliadas pelo contexto de linha. As colunas calculadas são avaliadas por contexto de linha, que é assim que têm um valor de coluna para cada linha.

O contexto de linha segue automaticamente as relações entre tabelas para determinar que linhas (em tabelas relacionadas) estão associadas à linha atual.

Um exemplo de contexto de linha, em que está a determinar que linhas estão associadas à linha atual.

Por exemplo, vamos ver o seguinte código:

ActualSales = Sales * RELATED( Product[Discount] )

A fórmula anterior utiliza simplesmente a função RELATED para obter a taxa de desconto do produto atual, a partir da tabela Produto. Não precisa de especificar o campo que liga as duas tabelas.

Compreender o contexto de filtro

O contexto de filtro é o conjunto de valores permitidos em cada coluna, com base em restrições de filtro que foram aplicadas à linha. Estes também podem ser considerados como os filtros aplicados ao relatório através de segmentações de dados ou interações.

Vejamos um exemplo de contexto de filtro:

Pré-visualização de dados para o exemplo de contexto de filtro.

A célula realçada tem um contexto de filtro para o ano de 2018, o estado é igual a Alabama e Trimestre é igual a T1. Qualquer outro valor na Tabela Dinâmica será diferente porque têm um contexto de filtro diferente para o ano, estado e trimestre.

Dica

CORRELACIONAR COM TABLEAU: como o Tableau e o Power BI decidem calcular medidas são semelhantes; baseia-se no que tem na página, nos filtros que aplicou, etc. O contexto nos cálculos de Tableau é mais frequentemente associado a expressões de Nível de Detalhe (LOD) e cálculos de tabelas.

Compreender as funções de iterador

Ao falar de funções de iterador, está a focar-se no conceito de contexto de linha.

Eis um exemplo de uma função de iterador simples:

COGS = SUMX( Sales, RELATED( Product[Wholesale Price]) * Sales[Quantity] )

Na fórmula anterior, está a utilizar a mesma fórmula COGS que antes, mas a encapsular na função de iterador SUMX.

Um exemplo de uma função de iterador.

  1. A primeira parte na função SUMX é a tabela de iterador ou em que grão deve ser avaliada. Neste caso, a tabela de iterador é a tabela Vendas. Para efetuar este cálculo, tem de avaliar todas as linhas nas tabelas Vendas.

  2. Em seguida, está a criar uma saída de lista numa tabela temporária.

  3. Por fim, está a efetuar a agregação especificada no início da função.

Para obter mais informações sobre o contexto, veja: Context in DAX Formulas (Contexto em Fórmulas DAX)

Para obter mais informações sobre o contexto de linha e filtro, veja: Contexto de Linha e Contexto de Filtro no DAX