Funções Iterantes
- Marcelo Puentes
- 7 de fev.
- 3 min de leitura
Atualizado: 7 de set.
São funções que executam cálculos, atendendo o contexto de linhas, colunas e filtros.
As funções ITERANTES ou ITERADORAS, são funções de agregação capazes de executar cálculos usando o contexto de linhas.
Para entendê-las será necessário que compreendamos os conceitos de contexto de linhas e contexto de filtros.
Contexto de Linhas X Contexto de Filtro
Contexto de Linhas: Significa que a função tem a capacidade de fazer cálculos linha a linha, de cada coluna.
Observe o exemplo abaixo:

Cada linha da coluna Valor Total é gerada a partir da multiplicação de cada linha cada coluna Valor Unitário por cada linha da coluna Qtde.
Exemplo: Valor Total = Valor Unitário * Qtde
Contexto de Filtros: Significa que dados podem ser filtrados, isto é, o conjunto de dados pode ser restrito após a aplicação de um filtro a uma coluna, ou tabela.

Observe que, se compararmos as duas tabelas, a segunda apresenta dados filtrados por Valor Unitário.
Entendidos os conceitos sobre contexto de Filtro e contexto e Linha, conseguiremos ter mais compreensão sobre as funções Iterantes.
Antes de abordarmos as funções, vamos entender quando usar as funções Iterantes.
Uma Pequena Abordagem Sobre ETL
ETL significa Extract, Transform and Load, em outras palavras, Extrair, Transformar e Carregar os dados. De forma mais objetiva, ETL é o processo em que se prepara e se qualifica os dados que serão utilizados no relatório.
Esse processo, sempre que possível, deve ter início na fonte original de dados. Por exemplo, se os dados estão armazenados em uma pasta Excel, devemos iniciar a qualificação dos dados no próprio Excel.

Nesse sentido, observamos que a coluna Valor Total deve ser criada no próprio Excel, antes da carga dos dados no Power BI.
Em alguns casos pode acontecer de não termos acesso necessário que nos permita tratar os dados. Por exemplo, quando os dados vierem de SGBD (sistema gerenciador de banco de dados), como SQL Server, possivelmente haverá restrições de acesso aos dados e, geralmente, o DBA (administrador do banco de dados) nos fornecerá dados brutos.
Nesse caso, teremos que fazer o processo de ETL em um ambiente dentro do POWER BI. Esse ambiente é POWER QUERY.
Veja na imagem abaixo como geraríamos a coluna Valor Total no Power Query.

Importante: Atribuímos o nome "Valor Total - PQ" para identificar a coluna criada no Power Query
Agora nossa tabela apresenta duas colunas com os mesmos valores:
Valor Total: Criada no Excel, base original dos dados.
Valor Total PQ: Criada no Power Query, no ambiente do Power BI

Esse mesmo cálculo pode ser feito no próprio Power BI, através da linguagem DAX, usando o recurso Nova Coluna.


Nesse momento temos três colunas com os mesmos valores. Dentro do conceito de ETL, devemos sempre analisar qual o melhor lugar para qualificar o dado.
Agregando Dados com Funções ITERANTES
Vamos supor que haja a necessidade de somarmos todos os valores da coluna Valor Total. No Power BI, através da linguagem DAX, usando a função SUM:

Após executarmos da fórmula apresentada acima, chegamos ao resultado abaixo.

Calculando com a função ITERANTE
Vamos pensar o seguinte: para chegamos ao resultado apresentado no cartão acima foram necessários dois cálculos.
O primeiro cálculo foi multiplicar o Preço Unitário pela Qtde.

O segundo foi através da função SUM( ), somar todos os valores da coluna Valor Total.

É importante destacar que, no primeiro, evidenciamos o contexto de linha. Já no segundo, evidenciamos o contexto de filtro.
Para chegarmos ao mesmo resultado, isto é, a Soma de Valor Total através da função ITERANTE, usamos a função SUMX. Veja o exemplo abaixo:

Assim, podemos observar que as funções ITERANTES são capazes de executar cálculos dentro do contexto de Linha, e atendem ao contexto de Filtro.
Voltado ao pensamento inicial, em relação a quantidade de cálculos necessários para se chegar a Soma de Valor Total, através da função ITERANTE executamos um único cálculo.
Informações importantes:
Como em todos cálculos e funções, devemos ter uma atenção em relação a performance da execução dos cálculos e, consequentemente a performance do relatório.
Geralmente as funções iterantes terminam em X: SUMX, AVERAGEX, MAXX, MINX, etc.
Gostou? Deixe seus comentários. Se torne membro do nosso canal no YouTube e nos siga em nossas redes sociais.
Grande abraço.
Até o próximo artigo.








Comentários