terça-feira, 29 de dezembro de 2015

Tableau LOD Expression e Microstrategy Level Metrics

Bom dia.

No artigo de hoje, resolvi falar sobre este assunto que julgo importante, não só para a comunidade Tableau, como também para meus amigos, que assim como eu, vieram do mundo Microstrategy e hoje são multiplataformas: Tableu LOD Expression e Microstrategy Level Metrics.



Quando iniciei com Tableau na versão 8.3, apresentado pelo meu amigo Raphael Almeida (mestre do mundo do marketing digital), fiquei encantado, com a facilidade de criação de análises e dashboards, tudo já pré-formatado, dentro das melhores práticas de visualização.

Logo então, parti para os cálculos pesados, fiquei maravilhado com o recurso Table Calculation. Porém senti falta do que tinha no Microstrategy, o que chamávamos de "métricas dimensionalizadas", Level Metrics.

Na versão 9.0, a Tableau nos trouxe um super presente, o recurso de LOD Expression, que sanava toda essa necessidade de cálculos de nível, exclusão, fixação e inclusão de nível, dentre outras possibilidades.

Vou além, das ferramentas de Data Discovery que conheço, nenhuma possui este recurso. Algumas, possuem em sua versão Enterprise, opções de criação de métricas de nível, criação de datasets para utilização em seu produto de Data Discovery.

Falando um pouco de como funciona Level Metrics no Microstrategy, na criação da métrica, temos uma configuração de Level (Dimensionality). Nesta opção, por padrão, todas as métricas são Report Level, ou seja, do nível do relatório. Você pode inserir então, atributos, definindo 3 opções:

  • Target - define o nível que a métrica será calculada
  • Filtering - define como a métrica irá trabalhar em relação ao filtro do relatório
  • Grouping - define o agrupamento da métrica, Target ou ignora Target 

Basicamente falando, toda métrica é convertida pelo engine do Microstrategy, em um passo de SQL no relatório. O que as opções acima farão, nada mais é do que configurar as cláusulas
Select, Where e Group By (não necessariamente ligadas a cada uma das opções acima).

Falando agora de Tableau LOD Expression. É muito simples. basta criar um campo calculado como o abaixo:


Onde:
  • INCLUDE - palavra chave para calcular em um nível inferior
  • EXCLUDE - para calcular em um nível superior
  • FIXED - para calcular em um nível fixo
  • [Order ID] - declaração de dimensão (uma ou mais)
  • Sum(Valor da Venda) - expressão de agregação

Vamos aos exemplos. Suponha que na minha base de item de pedidos, queira uma média do valor dos pedidos. Se eu simplesmente fizer um AVG(Valor das Vendas), terei uma média dos itens, como abaixo:



O que preciso fazer é: primeiro somar todos os itens por pedido. Depois fazer a média dessa somatória. Como na minha análise o nível de detalhe é Categoria e Ano, vou criar um campo calculado com a expressão Include para calcular em um nível de detalhe inferior a somatória, por Pedido, e depois fazer simplesmente a média por Categoria e Ano.


Repare que o valor é diferente. Agora vamos tirar a prova, criando uma planilha por pedido, na Categoria Tecnologia, no Ano de 2011.



Repare o Grand Total que é a média da soma dos pedidos. 

O segundo exemplo é com Exclude. Temos Categoria e Subcategoria. Coloquei o valor das vendas  por subcategoria e também os totais por categoria. Agora quero visualizar uma métrica com Exclude (calculando em um nível de detalhe acima), para ver, na subcategoria, o total de sua categoria.



Isso é muito utilizado no Microstrategy para construção de Percentual do Total. Mas você não precisa disso no Tableau para construir percentual do total, pode simplesmente usar Table Calculation, explicado no meu artigo anterior, é uma alternativa. 

Agora vamos a mais um exemplo. Também podemos reproduzir o mesmo resultado anterior, com Fixed, fixando o nível de cálculo para Categoria apenas.


Um detalhe interessante sobre o Fixed, segundo a base de conhecimento Tableau, é a ordem em que seu filtro é executado, logo após os filtros de contexto, e antes dos filtros de dimensões. As expressões do tipo Include e Exclude são executadas após o filtro de dimensão.

Outro teste que fiz, pelo fato de seu nível ser fixo, é colocar ou não em sua expressão, as dimensões que estão no filtro. Repare neste teste com Exclude, excluindo a subcategoria Mesas, como o total de sua categoria muda e a métrica com o Exclude reflete este total.


Porém, ao fazer o mesmo teste com o Fixed, colocando somente categoria na métrica, ele desconsidera o filtro de subcategoria excluindo Mesas.



Repare que o total continua sendo de toda a categoria, sem retirar a subcategoria mesas. Agora repare nesta planilha de vendas por ano:




Vamos filtrar 2011 e colocar nossa métrica de total por categoria - Fixed.



Observe, que enquanto a métrica valor de vendas filtrou 2011, a métrica com Fixed não levou em consideração o filtro. Porém, se adicionarmos em sua definição o atributo Data de Venda, passará a trazer os valores corretos:




E assim concluímos nosso artigo. Na minha opinião se uma ferramenta, seja de BI ou Analytics, não fornecer suporte para métricas de nível, métricas de acumulado YTD, MTD e métricas não agregáveis, como saldo de estoque, saldo bancário, é falha na parte de cálculo. Essas duas ferramentas passam tranquilamente neste teste.


Maiores informações na base de conhecimento Tableau:

15 principais expressões de LOD

Entendendo as Expressões de nível de detalhe (LOD)

Espero que tenham apreciado.

Um abraço.

Fabio Idalgo

segunda-feira, 28 de dezembro de 2015

Tableau - Table Calculations

No artigo de hoje falaremos um pouco sobre cálculos no Tableau, mais especificamente sobre o recurso Table Calculations.

Esta funcionalidade muito fácil de ser utilizada, permite com poucos cliques, criarmos cálculos avançados como: Percentuais do Total, Rank, Média Móvel, Acumulados, Percentil entre outros.




Para ilustrar nossos exemplos, utilizarei a base de dados que acompanha o Tableau, com a ferramenta Tableau Public. Criei a seguinte análise que servirá para validação de nossos cálculos, com os atributos Categoria e Região nas linhas, e Ano e Trimestre nas colunas. Também habilitei todos os totais para que possamos validar os números.



Dupliquei a planilha, e com um clique na métrica, Add Table Calculation ou Quick Table Calculation conseguimos rapidamente adicionar um Cálculo de Tabela. Escolhi, para nosso exemplo, a função Running Sum, que fará o cálculo acumulado dos valores. Repare que, defni, no caso de acumulado, a função de somatória, poderia ser a média por exemplo. Também preciso definir o nível do cálculo, defini em um primeiro instante Célula, que é a menor unidade, neste caso os valores baterão com a planilha de validação em todas as células.



Depois possuímos diversas opções para definição do nível do cálculo, que vão desde a definição dos atributos propriamente ditos como as opções abaixo:
  • Table Across
  • Table Down
  • Table Across the Down
  • Table Down the Across
  • Pane Across
  • Pane Down
  • Pane Across the Down
  • Pane Down the Across

Abaixo explicaremos as opções:

1 - Table Across - Realiza a soma horizontalmente da esquerda para a direita, por linha, do primeiro trimestre de 2011 até o quarto trimestre de 2012. Se comparar o valor deste último trimestre 571.026 é o mesmo do Grand Total da linha na planilha da validação.



2 - Pane Across - Realiza a soma horizontalmente da esquerda para a direita, por linha, quebrando por ano. Se comparar o valor do último trimestre de 2011, 293.973 é o mesmo do Total da primeira linha de 2011 na planilha de validação.


3 - Table Down - Realiza a soma vertical de cima para baixo de cada trimestre em todas as regiões em todas categorias. Se comparar o valor final do primeiro trimestre, 696.446 é o mesmo do total da primeira coluna de 2011 na planilha de validação.



4 - Pane Down - Realiza a soma vertical de cima para baixo de todas as regiões, por trimestre, em cada categoria. Se comparar o valor da última região, do primeiro trimestre, na categoria Material de Escritório, 232.558 é o mesmo do total da planilha de validação.



5 - Table Across the Down - Realiza a soma de toda a planilha. A ordem começa horizontalmente na primeira linha, da esquerda para a direita, de T1 2011 até T4 2012, indo em seguida para a segunda linha, da esquerda para a direita, de T1 2011 até T4 2012, repetindo o acumulado nessa ordem da primeira região da primeira categoria em T1 2011 até a última região da segunda categoria em T4 2012. Se você comparar o Grand Total 4.661.999 da planilha de validação é igual ao último valor calculado no Table Calculation.


6 - Table Down the Across, Panel Across the Down, Panel Down the Across - Repetem a lógica acima, levando em consideração se é tabela inteira ou apenas o ano. 
Além do nível de cálculo, você pode utilizar diversos tipos de cálculos disponíveis pela ferramenta, por exemplo, percentual do total (Pane Down - Região dentro da Categoria no Trimestre)


Rank (Pane Down)



Moving Average - Média Móvel dos últimos 6 meses


Maiores informações na base de conhecimento da Tableau:


http://onlinehelp.tableau.com/current/pro/online/en-us/help.htm#calculations_tablecalculations_understanding_addressing.html

Por hoje é isso. Um abraço pessoal e uma boa noite.

Fabio Idalgo