Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Assuntos relacionados a criação de medidas, fórmulas e funções DAX, relacionamentos etc
  • Avatar do usuário
#71777
Boa tarde turma!
Estou montando um relatório pro trabalho e por ter informações confidenciais não posso divulgar o arquivo aqui.

Tenho uma base com Datas e Receita de cada venda, sendo que são várias vendas no mesmo dia. E o meu objetivo é calcular a variação % da receita de um ano para o outro (YoY) para usar em uma tabela.

A coluna de Data está formatada como Data e usando a Localidade Brasil. Não há erros no Power Query e ele já lê como data.
A coluna de Receita está formatada como Número decimal. Não há erros no Power Query e ele já lê como número.

Acontece que ao tentar calcular a Soma de Receita do Ano e transformar para o ano anterior e comparar, o PBI não consegue ler os anos individuais (ou os meses dentro dos anos), e mais estranho, ele lê parcialmente as datas. Não sei o que está configurado errado, ja tentei de tudo.

Talvez seja algo obvio, sou iniciante no PBI e em fóruns. :oops:

Seguem as fórmulas que tentei:

Receita Total = SUM(Base[VrReceitaTotal]) --> Essa fórmula soma todas as linhas receita e tem funcionado corretamente
Receita Mes Anterior = CALCULATE([Receita Total], DATEADD(Base[DtFechamento],-1,YEAR)) -> Essa fórmula já não funciona, não vincula os anos de cada receita. Mas se trocar o -1 para 0, ele consegue vincular os anos.

Tentei usar modelos de fórmula diferentes, por exemplo:
Receita Mes Anterior 2 = CALCULATE([Receita Total], SAMEPERIODLASTYEAR(Base[DtFechamento])) --> Retorna o mesmo resultado da Receita Mes Anterior
Também tentei com o IFERROR, mas não adiantou.
Tentei usando a dCalendario, mas ai ele não vincula nem a receita corretamente com as datas.

Por fim, tentei inserir uma nova coluna que trouxesse as datas para 1 ano antes, usando a seguinte sintaxe:
Coluna = DATEADD(Base[DtFechamento], -1, YEAR)
--> Essa nova coluna traz alguns dias para o ano anterior, mas vários dias ficam em branco, se uso o 0 no lugar do -1, ele traz corretamente.

Seguem algumas prints, desculpa pois tive que tirar algumas partes por ter informação confidencial.
Pls se alguém souber o que estou fazendo de errado, ou alguma configuração que não sei!!
Obrigado!! :D

Imagem
Imagem
Imagem
Editado pela última vez por Aruescobar em 18 Jul 2022 às 12:51, em um total de 1 vez.
#71779
Boa tarde,

Se conseguir postar uma amostra ficará bem mais fácil, apesar dos dados confidenciais, pode jogar para uma planilha os valores de dois anos, e montar somente o relacionamento para testes.

Mas vamos lá, para que sua análise funcione, é necessário que tenha uma tabela calendário, e que ela filtre sua tabela de vendas.
Seus visuais tem que mostrar a data que consta na tabela calendário, e não na tabela de vendas, para que seus filtros e visuais demonstrem o que precisa.
Sua tabela calendário, tem que ter toda a faixa de datas que tem em suas vendas, inclusive os anos anteriores que queira fazer análise (mesmo não tendo vendas), senão não haverá datas para cálculo.

Veja essa documentação para as análise de dados temporais:
https://docs.microsoft.com/pt-br/dax/sa ... nction-dax
Nesta página tem exemplos, e outros comandos de período paralelo, períodos anteriores etc. Veja qual análise precisa fazer e qual função irá usar para obter o valor.

Não vejo necessidade de criar uma coluna com ano anterior, já que seus dados já estão no ano anterior.
Use a SUM para trazer o valor filtrado atual (ou nem precisa pois a soma atual pode ser jogada direto no visual), e para períodos anteriores, você faz uma medida usando a função para tal.

Att.
Gustavo.
#71780
Fala Gustavo,


Obrigado pelo rápido retorno!

Eu não sei se entendi direito, mas não consegui fazer nada diferente do que estava fazendo antes...
Fiz um exemplo aqui pra facilitar, com números aleatórios (função aleatório do excel).
Mantive as medidas que estava usando e também a coluna nova que algumas datas ele não ajusta.
A coluna nova é desnecessária na conta, só usei ela pra tentar ver onde estava o erro.

Acho que assim fica mais fácil pra quem puder ajudar. :D

Valeu!
exemplo.xlsx
exemplo.pbix
Você não está autorizado a ver ou baixar esse anexo.
#71796
Bom dia,

Olhando seu exemplo, montei a planilha como imagino que você deseje montar a sua (já fiz desta forma em alguns clientes).

1-Ajustei sua tabela calendário para que ela inicie no dia 01/01/2019 e termine em 31/12/2023 (o ano atual + 1), isto porque para análise de dados temporais no Pbi, sua tabela calendário deve possuir todos os dias dos anos, não pode começar em uma data qualquer, e terminar em outra qualquer, nem ter furos como por exemplo não ter os finais de semana nela. Desta forma sempre comece sua calendário no dia 01/01 e termine no dia 31/12.

2-Liguei a sua calendário a sua base de vendas.

3-Usei o próprio campo de valor da sua tabela para o valor dos anos.

4-Criei uma medida para obter o valor do ano anterior.
VR_Anterior = CALCULATE( SUM(Base[VrReceitaTotal]), SAMEPERIODLASTYEAR(dCalendario[Calendario]))

5-Criei uma medida para dividir o valor e calcular a variação.
Varia-Ano = DIVIDE( [VR_Anterior] , SUM(Base[VrReceitaTotal] ) )

E assim montei a sua planilha, acredito que atenda sua necessidade.
Exemplo-Ajustado.pbix
Att.
Gustavo
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord