Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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:
Solved! Go to Solution.
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.
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!
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.
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!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
113 | |
99 | |
80 | |
70 | |
60 |
User | Count |
---|---|
149 | |
114 | |
107 | |
89 | |
67 |