Forum Discussion
Cumulative per month
Hi!
I have a issue with my cumulative Profit & Loss subtotals. What I want is show the cumulative data per month (just in that month).
In the beggining I do this mensure to my cumulative subtotal and it works (data in Portuguese-BR):
_Subtotal =
VAR Valor = CALCULATE(SUM(Dados_[Valor]))
VAR Receita = CALCULATE(SUM(Dados_[Valor]);FILTER(ALL(Dados_);Dados_[dre_titulo]="= Receita Líquida"))
VAR Margem = CALCULATE(SUM(Dados_[Valor]);FILTER(ALL(Dados_);Dados_[dre_titulo]="= Margem Bruta"))
VAR ResultadoO = CALCULATE(SUM(Dados_[Valor]);FILTER(ALL(Dados_);Dados_[dre_titulo]="= Resultado Operacional"))
VAR ResultadoL = CALCULATE(SUM(Dados_[Valor]);FILTER(ALL(Dados_);Dados_[dre_titulo]="= Resultado Líquido"))
VAR EBTIDA = CALCULATE(SUM(Dados_[Valor]);FILTER(ALL(Dados_);Dados_[dre_titulo]="= EBTIDA"))
RETURN
IF(ISFILTERED(Dados_[Nome])||ISFILTERED(Dados_[descrição_conta])||ISFILTERED(Dados_[dre_sub-titulo]);Valor;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Receita Líquida";Receita;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Margem Bruta";Receita+Margem;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Resultado Operacional";Receita+Margem+ResultadoO;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Resultado Líquido";Receita+Margem+ResultadoO+ResultadoL;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= EBTIDA";Receita+Margem+ResultadoO+ResultadoL+EBTIDA;
BLANK()))))))Return:
But when I put the colunm "Nome Mês" (Month Name), my data dont work correctly (not doing the cumulative per month):
I have tried put a MAX comparative in each variable, but dont work ("Competência" is my date data):
_Subtotal =
VAR Valor = CALCULATE(SUM(Dados_[Valor]))
VAR Receita = CALCULATE(SUM(Dados_[Valor]);FILTER(ALLSELECTED(Dados_);Dados_[dre_titulo]="= Receita Líquida"&&Dados_[Competência]<=MAX(Dados_[Competência])))
VAR Margem = CALCULATE(SUM(Dados_[Valor]);FILTER(ALLSELECTED(Dados_);Dados_[dre_titulo]="= Margem Bruta"&&Dados_[Competência]<=MAX(Dados_[Competência])))+Receita
VAR ResultadoO = CALCULATE(SUM(Dados_[Valor]);FILTER(ALLSELECTED(Dados_);Dados_[dre_titulo]="= Resultado Operacional"&&Dados_[Competência]<=MAX(Dados_[Competência])&&Dados_[Ordem DRE]<=MAX(Dados_[Ordem DRE])))+Margem
VAR ResultadoL = CALCULATE(SUM(Dados_[Valor]);FILTER(ALLSELECTED(Dados_);Dados_[dre_titulo]="= Resultado Líquido"&&Dados_[Competência]<=MAX(Dados_[Competência])&&Dados_[Ordem DRE]<=MAX(Dados_[Ordem DRE])))+ResultadoO
VAR EBTIDA = CALCULATE(SUM(Dados_[Valor]);FILTER(ALLSELECTED(Dados_);Dados_[dre_titulo]="= EBTIDA"&&Dados_[Competência]<=MAX(Dados_[Competência])&&Dados_[Ordem DRE]<=MAX(Dados_[Ordem DRE])))+ResultadoL
RETURN
IF(ISFILTERED(Dados_[Nome])||ISFILTERED(Dados_[descrição_conta])||ISFILTERED(Dados_[dre_sub-titulo]);Valor;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Receita Líquida";Receita;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Margem Bruta";Margem;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Resultado Operacional";ResultadoO;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= Resultado Líquido";ResultadoL;
IF(SELECTEDVALUE(Dados_[dre_titulo])="= EBTIDA";EBTIDA;
BLANK()))))))Return:
Hi Anonymous ,
You may change the measure like DAX below.
_Subtotal = CALCULATE(SUM(Dados_[Valor]), FILTER(ALLSELECTED(Dados_), YEAR(Dados_[Competência])<=YEAR(MAX(Dados_[Competência]))&&MONTH(Dados_[Competência])<=MONTH(MAX(Dados_[Competência]))))
If I misunderstood it, could you please share your sample data and desired output screenshots for further analysis? You can also upload sample pbix to OneDrive and post the link here. Do mask sensitive data before uploading.
Best Regards,
Amy
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Anonymous7 years ago
Hi v-xicai , thank you!
This solution works perfectly!
Also, I've tried this solution above and works too:
_Subtotal = SWITCH( TRUE(); ISFILTERED(Dados_[dre_sub-titulo])||ISFILTERED(Dados_[descrição_conta])||ISFILTERED(Dados_[Nome]);[_Teste Valor Total]; ISFILTERED(Dados_[dre_titulo]);CALCULATE( [_Teste Valor Total];FILTER(ALLEXCEPT(Dados_;Dados_[Mês DRE]); Dados_[Ordem DRE]<=SELECTEDVALUE(Dados_[Ordem DRE])||Dados_[Competência]=SELECTEDVALUE(Dados_[Competência]) ) ); [_Teste Valor Total] )Best for you, friend!
2 Replies
- v-xicai
Community Support
Hi Anonymous ,
You may change the measure like DAX below.
_Subtotal = CALCULATE(SUM(Dados_[Valor]), FILTER(ALLSELECTED(Dados_), YEAR(Dados_[Competência])<=YEAR(MAX(Dados_[Competência]))&&MONTH(Dados_[Competência])<=MONTH(MAX(Dados_[Competência]))))
If I misunderstood it, could you please share your sample data and desired output screenshots for further analysis? You can also upload sample pbix to OneDrive and post the link here. Do mask sensitive data before uploading.
Best Regards,
Amy
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- AnonymousNot applicable
Hi v-xicai , thank you!
This solution works perfectly!
Also, I've tried this solution above and works too:
_Subtotal = SWITCH( TRUE(); ISFILTERED(Dados_[dre_sub-titulo])||ISFILTERED(Dados_[descrição_conta])||ISFILTERED(Dados_[Nome]);[_Teste Valor Total]; ISFILTERED(Dados_[dre_titulo]);CALCULATE( [_Teste Valor Total];FILTER(ALLEXCEPT(Dados_;Dados_[Mês DRE]); Dados_[Ordem DRE]<=SELECTEDVALUE(Dados_[Ordem DRE])||Dados_[Competência]=SELECTEDVALUE(Dados_[Competência]) ) ); [_Teste Valor Total] )Best for you, friend!