- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Automatically redistribute the target per customer
In Power BI I have a table with customer portfolios. In this table there are the fields Customer Code, Customer Name, Wallet Code, Wallet Name.
I also have the table with the sales record and in this table there are the Date of Sale and Customer Code fields.
I also have a table with the goals for each client portfolio and in this table there are the fields Target Month, Target Value, Portfolio Code, Portfolio Name.
Consider the following situation:
The "AA" portfolio sold a total of 100,000, distributed among the 3 clients that are part of the portfolio. And this portfolio has a total target of 130,000
The "BB" portfolio sold a total of 300,000, distributed among the 5 clients that are part of the portfolio. And this portfolio has a total target of 350,000
The "CC" portfolio sold a total of 250,000, distributed among the 7 clients that are part of the portfolio. And this portfolio has a total target of 280,000
For the "AA" portfolio, I need to apply a target to the clients of this portfolio considering the percentage weight that each client represents in the total of 100,000 in the portfolio.
For the "BB" portfolio I need to apply a target to the clients of this portfolio considering the percentage weight that each client represents in the total of 300,000 in the portfolio.
For the "CC" portfolio I need to apply a target to the clients of this portfolio considering the percentage weight that each client represents in the total of 250,000 in the portfolio.
Is it possible to create a DAX measure that is capable of performing this goal calculation automatically?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've created a simplified model based on your description with the following measures that you should be able to modify to get the result you're looking for.
Sales Measure:
$ Sales = SUM(Sales[SaleAmount])
Portfolio Target Measure:
$ Portfolio Target =
CALCULATE(
SUM(Goals[Target]),
FILTER(
Customers,
COUNTROWS(VALUES(Customers[CustomerCode])) > 0
)
)
Customer Target Measure:
$ Customer Target =
VAR _CustomerSales = Sales[$ Sales]
VAR _TotalSales =
CALCULATE(
Sales[$ Sales],
ALL(Customers),
VALUES(Portfolio[PortfolioID])
)
VAR _PercentToTotal =
DIVIDE(_CustomerSales, _TotalSales)
VAR _PortfolioTarget = Goals[$ Portfolio Target]
VAR _CustomerTarget =
_PercentToTotal * _PortfolioTarget
RETURN
_CustomerTarget
Result:
Consider providing a dataset to work with on future requests; this will make it much easier to answer your questions.
If this solves your problem, please mark this answer as the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Rai_BI - I'm sorry to hear the calculation is slow. As I stated, I created a very simplified model to test out the DAX I provided. It is difficult to help troubleshoot slow calculations without actually seeing your data model.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've created a simplified model based on your description with the following measures that you should be able to modify to get the result you're looking for.
Sales Measure:
$ Sales = SUM(Sales[SaleAmount])
Portfolio Target Measure:
$ Portfolio Target =
CALCULATE(
SUM(Goals[Target]),
FILTER(
Customers,
COUNTROWS(VALUES(Customers[CustomerCode])) > 0
)
)
Customer Target Measure:
$ Customer Target =
VAR _CustomerSales = Sales[$ Sales]
VAR _TotalSales =
CALCULATE(
Sales[$ Sales],
ALL(Customers),
VALUES(Portfolio[PortfolioID])
)
VAR _PercentToTotal =
DIVIDE(_CustomerSales, _TotalSales)
VAR _PortfolioTarget = Goals[$ Portfolio Target]
VAR _CustomerTarget =
_PercentToTotal * _PortfolioTarget
RETURN
_CustomerTarget
Result:
Consider providing a dataset to work with on future requests; this will make it much easier to answer your questions.
If this solves your problem, please mark this answer as the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much!
😄I am facing a slow calculation problem. It's taking a long time to calculate.
