Forum Discussion
Best Practice Question
- 6 years ago
Hi VulcanPromance ,
To what I can understand here you issue is based on the calculation of the percentage of Yearly costs per country this can be achieve by making the following measures:
Monthly Price = VAR temp_Table = SUMMARIZE ( 'Price Table'; 'Price Table'[Bundle Name]; 'Price Table'[Price]; "Users"; DISTINCTCOUNT ( Licenses[UserID] ) ) RETURN SUMX ( temp_Table; 'Price Table'[Price] * [Users] ) Yearly Price = [Monthly Price] * 12I'm assuming the Yearly is just multiplyig by 12 months.
Then you need to calculate the percentage of costs per country selected:
% per Country = [Yearly Price] / CALCULATE([Yearly Price];all(Employees[Country]))If you have a country table that should be based on that table and not employees table.
Now just make the measures for the Shared Costs:
Shared_Costs = SUM('Cost Table'[Cost]) // Just used as a auxiliary calculation Shared_Costs_Selected_Countries = [% per Country] * [Shared_Costs] Markup 5% = [Shared_Costs_Selected_Countries] * 0,05 Overhead 10% = [Shared_Costs_Selected_Countries] * 0,1 Fee 3% = [Shared_Costs_Selected_Countries] * 0,03 BO4 Reporting 12% = [Shared_Costs_Selected_Countries] * 0,12 Total Shared Costs = [Shared_Costs_Selected_Countries]+Measure_Table[Markup 5%]+[Overhead 10%]+[Fee 3%]+[BO4 Reporting 12%]This values will give you the calculation for the shared costs now you only need to sum the value of the last measure with the Yearly costs and you are all set:
Total Costs Per country = [Yearly Price] + [Total Shared Costs]Check the image below and the PBIX file attach.
Any questions please tell me.
- 6 years ago
Hi VulcanPromance ,
Add the following measure to your calculation:
Count of users = CALCULATE ( MAXX ( SUMMARIZE ( 'Price Table'; 'Price Table'[Bundle Name]; 'Price Table'[License Name]; "@User_Count"; DISTINCTCOUNT ( Licenses[UserID] ) ); [@User_Count] ); ALLEXCEPT ( 'Price Table'; 'Price Table'[Bundle Name] ) )Now just need to redo the Montlhy price and everything else will calculate accordingly:
Monthly Price = VAR temp_Table = SUMMARIZE ( 'Price Table'; 'Price Table'[Bundle Name]; 'Price Table'[Price]; "Users"; [Count of users] ) RETURN SUMX ( temp_Table;'Price Table'[Price] * [Users])Just added the Count of Users in your measure. There is a small difference but believe is rounding.
Check result attach.
MFelix I have a followup question to this scenario. One of my countries are pakistan. They deduct some taxes so I have to add another 12 % as a shared cost, but only for pakistan. The other countries do not deduct this tax, so this new column would be blank if I choose another country on the slicer.
I was thinking I would Create a variable
WH TAX 12% = IF(employees[country]="Pakistan",Shared_Costs_Selected_Countries]*0.12,0)
Something like that..
Then list that variable along with the other shared cost..
Is there a sleeker way to do this though? Like adding a new Visual, that only contains information if you choose Pakistan on the slider? and adds that value to the Total cost pr selected country.
I'm reaching out to you because you solved the other parts so efficiently, and you already have the template files in this forum post.
I solved most of it myself. I created the IF variable
- MFelix6 years agoSuper User
Hi VulcanPromance ,
You must use a SUMX to calculate this because when you are using an if statment the measure will check if there is pakistan selected and make the calculation of the 12% for all the lines.
Should be something similar to:
WH Tax 12% = SUMX(Table;[Shared_Costs_Selected_Countries] * IF(max(Employees[Country])="Pakistan",0.12,0))Rename the Table by the one in your model.
- VulcanPromance6 years agoHelper II
Hi again MFelix . Thank you for your patience 🙂
Using this
WH Tax 12% = SUMX('Cost Table',[Shared_Costs_Selected_Countries] * IF(max(Employees[Country])="Pakistan",0.12,0))Does the exact same thing.Here is what I have now
With Pakistan selectedWithout anything selected you notice the 12% from pakistan is gone, but i need it added to the WH Tax 12% column or at a minimum at the Total Cost Pr Selected and WH Tax 12% visual.. Is it even possible?- MFelix6 years agoSuper User
Hi VulcanPromance ,
Instead of the MAX function try the Selectedvalue:
WH Tax 12% = SUMX('Cost Table',[Shared_Costs_Selected_Countries] * IF(SELECTEDVALUE(Employees[Country])="Pakistan",0.12,0))