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.

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

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

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *