Power BI – O poder do tempo! Como utilizar a dupla dinâmica Parallelperiod e Datesytd.


Qual a dupla dinâmica mais famosa que existe?

batman e robin
Se você respondeu Batman e Robin, provavelmente você ainda não precisou entregar um relatório financeiro pro CFO em questão de horas.

Um dos assuntos mais importantes (se não o mais importante) em um report financeiro é saber a saúde dos números. Meu Deus, como isso é feito?

Comparando o passado com o  presente! Por exemplo, como foi a evolução do primeiro trimestre de 2016 e a evolução do primeiro trimestre de 2017?

A grande pergunta, como calcular esses caras?

gif the accout

Para resolver esse tema, apresento-lhes as funções parallelperiod e datesytd.

A primeira, como o nome sugere, é utilizada para comparar períodos no mesmo nível, por exemplo, ano sobre ano, trimestre sobre trimestre, mês sobre mês… Geralmente vemos esses cálculos nos formatos: YoY, MoM, por exemplo.

já a segunda (datesytd)  Date to Year é utilizada para acumular os valores dentro de cada ano que existir na base, a (datesmtd) Month to Date retorna o acumulado total de vendas por mês. Geralmente vemos os cálculos com os seguintes títulos:

  • YTD –  Year to Day (Ano)
  • MTD – Month to Day (Mês)
  • QTD – Quarter to Day (Trimestre)

Como funcionam?

A Datesytd recebe como parâmetro uma coluna de data e retorna todas as datas do inicio do ano até a data do parâmetro.

Ex: calculate(sum(value),datesytd(’01-06-2016′)), essa fará a soma de todas as datas desde 01-01-2016 até 01-06-2016

A parallelperiod recebe como parâmetro uma coluna data, um valor e um “agrupador” da data.

Ex: calculate(sum(value),parallelperiod(’01-01-2016′,-3,year)), essa fará a soma de todas as datas onde a desde 3 anos atrás (nesse caso 01-01-2013) até o dia 01/01/2016.

Aqui acho que vale mais a pena o compartilhamento do PBIX que o passo a passo da criação das métricas certo? errado!! toma passo a passo de cada exemplo:

PARALLELPERIOD

O primeiro passo após importar seus dados é criar uma medida.

foto1

dentro da métrica utilizaremos a função CALCULATE, a qual se servirá para realizar algum cálculo ao mesmo tempo que aplica um filtro. Basicamente, a sintaxe é :

CALCULATE (expressão filtros…)

Ex: CALCULATE (SUM(ValorVendas);FILTER(Calendario; Ano = 2017))

Essa expressão irá realizar a soma de vendas somente para o ano de 2017.

No nosso exemplo, a expressão utilizada será:

SUM(‘baseGlobal'[Value])

Como queremos calcular o ano passado (lembre-se que LY = Last Year = Ano Passado), utilizaremos a função PARALLELPERIOD.

Passaremos como filtro para a nossa CALCULATE a coluna de data e um valor de -1 (afinal queremos o ano atual – 1 , certo?) e o período que queremos retornar, no caso YEAR.

A fórmula completa do filtro ficará assim:

PARALLELPERIOD (‘baseGlobal'[DateFormated],-1,YEAR)

Agora, podemos estruturar a nossa medida.

M_ValueLY = CALCULATE (sum(‘baseGlobal'[Value]),parallelperiodo(‘baseGlobal'[DateFormated],-1,YEAR))

foto2

Uma vez que a nossa métrica retorna o LY, vamos descobrir qual o % de diferença entre o ano passado e o ano atual.

Para isso, faremos uma divisão utilizando a soma do valor atual dividido pela nossa métrica que calcula o LY.

M_ValueLY = SUM(‘baseGlobal'[Value]) / CALCULATE(SUM(‘baseGlobal'[Value]),PARALLELPERIOD(‘baseGlobal'[DateFormated],-1,YEAR))

foto3

para finalizar nossa métrica, iremos adicionar o -1 para calcularmos a variação (coisas de calculo de percentual, qualquer dúvida vamos bater papo nos posts!!).

Obs: De brinde, apresento-lhes a função IFERROR! Ela simplesmente segura o erro e retorna um valor determinado, no nosso caso é aquele BLANK().

M_ValueLY = IFERROR(sum(‘baseGlobal'[Value]) / CALCULATE(sum(‘baseGlobal'[Value]),PARALLELPERIOD(‘baseGlobal'[DateFormated],-1,YEAR)) – 1,BLANK())

foto4

Vamos avaliar o resultado?

foto5

Olha que interessante! Essa simples métrica nos mostra a variação de mês a mês, conseguimos traçar uma evolução e outras análises simples.

DATESYTD

O primeiro passo será a criação de uma nova medida.

foto6

Mais uma vez, utilizaremos a maravilhosa CALCULATE para gerar essa métrica. Agora que você já sabe mais ou menos como ela funciona, vamos aos parâmetros cálculo que iremos realizar.

A expressão será SUM(‘baseGlobal'[Value]).

A diferença nessa fórmula ocorrerá no “Filter” que agora será DATESYTD.

A composição é muito mais simples. Veja abaixo:

DATESYTD(‘baseBrazil'[Date])

basta passar a coluna de data e o mesmo filtrará todos os registros do ano até o registro de data que foi passado.

Veja a fórmula completa:

M_MeasureYTD = CALCULATE(sum(‘baseBrazil'[Value]),DATESYTD(‘baseBrazil'[Date]))

foto7

Aqui, conseguimos analisar o resultado (aproveitei e criei uma métrica dif, vocês podem ver o exemplo, é só uma subtração, eu juro!! :]).

É possível ver o quanto representa aquele mês do montante total até aquele momento, conseguem ver isso?

foto8

Bônus

Criei um painelzinho pra analisar graficamente, uma vez que é muito mais fácil do que ver em uma tabela rsrs.

Vai falar que nosso painelzinho não fitou top?

fotoFinal

That’s all folks! <– Clique aqui para baixar o exemplo.

Matheus Campos.

Anúncios

Um comentário em “Power BI – O poder do tempo! Como utilizar a dupla dinâmica Parallelperiod e Datesytd.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s