top of page

Funções Iterantes

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:

Tela: Tabela De Dados
Tela: Tabela De Dados

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.

Tela: Tabela Filtrada
Tela: Tabela Filtrada

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.

Tabela Excel
Tabela 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.

Tela: Ambiente do Power Query (PQ) - Criação da Coluna Valor Total
Tela: Ambiente do Power Query (PQ) - Criação da Coluna Valor Total

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

Tela: Coluna Valor Total PQ gerada no Power Query
Tela: Coluna Valor Total PQ gerada no Power Query

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

Tela: Cálculo Valor Total Gerado no Power BI
Tela: Cálculo Valor Total Gerado no Power BI
Tela: Coluna Valor Total PQ gerada no Power BI DAX
Tela: Coluna Valor Total PQ gerada no Power BI DAX

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:

Tela: Agregando Valor Total, Através da Soma dos Valores da Coluna Valor Total
Tela: Agregando Valor Total, Através da Soma dos Valores da Coluna Valor Total

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

Tela: Cartão Apresentando Soma De Valor Total
Tela: Cartão Apresentando Soma De Valor Total

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.

Tela: Cálculo Valor Total Gerado no Power BI
Tela: Cálculo Valor Total Gerado no Power BI
  • O segundo foi através da função SUM( ), somar todos os valores da coluna Valor Total.

Tela: Agregando Valor Total, Através da Soma dos Valores da Coluna Valor Total
Tela: Agregando Valor Total, Através da Soma dos 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:

Tela: Aplicação da Função ITERANTE SUMX( )
Tela: Aplicação da Função ITERANTE SUMX( )

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


Consultoria

Learn BI - Consultoria e Treinamento
Rua Dionísio Erthal, 69 - Santa Rosa - Niterói - RJ
learnbitraining@gmail.com
Tel.: 21-9-8825-2737

© 2020 por Marcelo Puentes.

bottom of page