Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hi,
I've got a datasets with alot of rows for different customer numbers and sales value. I want to sum the sales value on each customer and then show the number of customers and the total sales value in different categories.
For example, I want to show the total value of all the customers that has a sales value < 10 000$. Then another group for between 10 000$ - 20 000$, and so on.
I might need to work on the description of my problem, but this is basicly what I want it to look like:
Groups | Number of customers | Total sales |
<10 000$ | 123 | 950 000 |
10 000$-20 000$ | 75 | 1 100 000 |
Any feedback would be greatly appreciated.
Solved! Go to Solution.
If you create a parameter table with the ranges you want like this:
then with Range Table desciption on rows, use these measures:
Number of Customers = COUNTROWS ( FILTER ( ADDCOLUMNS ( VALUES ( CustomerID[ID] ), "Total Sales", CALCULATE ( SUM ( Sales[Sales] ) ) ), [Total Sales] >= MIN ( RangeTable[Min] ) && [Total Sales] < MAX ( RangeTable[Max] ) ) )
Total Sales for Group = CALCULATE ( SUM ( Sales[Sales] ), FILTER ( ADDCOLUMNS ( VALUES ( CustomerID[ID] ), "Total Sales", CALCULATE ( SUM ( Sales[Sales] ) ) ), [Total Sales] >= MIN ( RangeTable[Min] ) && [Total Sales] < MAX ( RangeTable[Max] ) ) )
I freehanded these and didn't test them, but they should be close.
If you create a parameter table with the ranges you want like this:
then with Range Table desciption on rows, use these measures:
Number of Customers = COUNTROWS ( FILTER ( ADDCOLUMNS ( VALUES ( CustomerID[ID] ), "Total Sales", CALCULATE ( SUM ( Sales[Sales] ) ) ), [Total Sales] >= MIN ( RangeTable[Min] ) && [Total Sales] < MAX ( RangeTable[Max] ) ) )
Total Sales for Group = CALCULATE ( SUM ( Sales[Sales] ), FILTER ( ADDCOLUMNS ( VALUES ( CustomerID[ID] ), "Total Sales", CALCULATE ( SUM ( Sales[Sales] ) ) ), [Total Sales] >= MIN ( RangeTable[Min] ) && [Total Sales] < MAX ( RangeTable[Max] ) ) )
I freehanded these and didn't test them, but they should be close.
Thank you so much. You are the star. I have been figuring out it for two days all day. Now, I got it. Thanks a million again. You are the star.
Hi @Anonymous,
Have you resolved your issue? If you have, please mark a helpful reply as answer. Or it's grateful to share your own solution. Please feel free if you have other question.
Thanks,
Angelia
My apologies, I have yet to try the solution @mattbrice suggested, but I'll return with a response as soon as I've tried it. Sorry for lateness of my reply.
My My
I have the same issue with mutiple rows for the same customer.
Can you post the solution please?
@GershwinMunich the solution is stated by @mattbrice 🙂
It's been a while since I worked on this now, but let me know if you can't get it to work.
Hi @Anonymous,
Don't need to apology. Any helpful reply is great, the purpose of all is to resolve your issue. Hope you have resolved it, and share good news for other people in this community.
Best Regards,
Angelia
So I finally got around to trying this, and it worked! 🙂 Thanks again for all replies!
Now, this is only nitpicking on my part, but I'm asking anyway since you managed to give me a solution the last time:
As I said, the solution @mattbrice supplied works perfectly, but there's small detail that would be nifty. My sales data per customer is connected to a dimCustomer-table, which stores customer information. In the same report where I made this category/range-analysis, I've also got a couple of graphs showing the largest customers etc (bar-charts). When I click on the bar for the largest customer, the range-analysis (expressed by donut-chart) changes since that effectivly puts a filter on the customer-ID. However, it would be nice if I could go the other way aswell, meaning if I click on a range (say <10 000) in the donut chart, the "largest customer" bar-chart would change correspondingly, only showing the customers in that perticular range.
Is this possible without connecting the new range-table to the dimCustomer table? Again, I'm perfectly happy with the solution supplied so far, so I'm just wondering if this is possible without going through to much trouble 🙂
Hi @Anonymous,
You need to do add a column with the following code:
Grouping = SWITCH( TRUE(), Sales[Sales]<=1000,"<=1.000", Sales[Sales]>1000 && Sales[Sales]<=3000,"1.000-3.000", Sales[Sales]>3000 && Sales[Sales]<=5000,"3.000-5.000", Sales[Sales]>5000,">5.000" )
Then add this to you visual and select the appropiated summarization for you customers or total sales
Regards,
Mfelix
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em Português
Thanks for your reply. Your solution worked on a test dataset I have where I only have 1 row per customer. However, my real dataset contains multiple rows for the same customer (individual transactions/sales), and this is where I want to summarize the total sales value for each customer, and then group these under the categories mentioned above. Can this be done?
User | Count |
---|---|
140 | |
113 | |
104 | |
76 | |
63 |
User | Count |
---|---|
135 | |
126 | |
110 | |
70 | |
61 |