March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hi guys,
I spent a fairly good time on this task (reading a lot of articles, forums, watching videos, countless trials and errors) without getting anywhere close to the right solution. Maybe there is a way to achieve what is required and I’m just stuck in a loop and doesn’t come to me. I will be happy if someone has done something similar and could advise on this, or if someone has an idea which I haven’t think about and haven’t tried.
These are the conditions:
Now the fun part
All the above cannot be precalculated, flagged and used as a filter in the data model table or in the SQL query. There are more than 8 dimensions with loads of positions in each dimension (like tons of dates, many countries etc.) which takes us to numerous combinations. This needs to be calculated as a measure, to work dynamically and the result to be conditioned by the combination of dimensions we picked in the visual or to be determined by the filters selection. We use dynamic M query parameters, and from a slicer you can select which dimensions you want to visualise in a matrix for example.
The bottom line is – if you only add the customer IDs and the revenue columns in a matrix visual then the measure works when you pick different filters. If you want to do summaries groupped by dimensions showing the count of the customers - the measure doesn’t function. IF you create two matrices – One summarizing with dimensions, counts etc, and another matrix with the customers listed with their IDs with the idea to use it to filter the summary one, you cannot - it doesn’t work, because you use a measure result to filter what is visualised in the second matrix and this doesn't affect the first matrix (the summary one).
I thought that it would be great if a function like this existed (but it doesn’t 😊) – the outcome of a measure results in a creation of a virtual temp table which result can be conditioned by the filters selection we do dynamically, and we link this table using the client ID to the main one using it as a filter.
Apologies for the long post. If there is something unclear please ask. I will be happy if there is a solution that can be applied in this case.
Thanks
The thread can be close/deleted/locked, it is not actual anymore. The issue has been solved by a colleague of mine.
Hi @EMark ,
Could you share the results of your research and that of your coworkers? It may help other members on the forum, thank you!
Best Regards
Yilong Zhou
If it will be helpful below you can see how the measures were built.
This is how the threshold is calculated:
Threshold =
CALCULATE (
AVERAGE ( Query1[Revenue] ) + (STDEV.P ( Query1[Revenue] ) * 3 ),
ALL(Query1[client_ID]),
Query1[Revenue_Flag])="Positive")
This is how it is determined if a customer is an outlier:
Outlier =
Hi @EMark ,
As you mentioned, I think the measures can help you, you can use it to have a try. I have another idea, Power BI offers analytics features that might help in identifying outliers without the need for complex DAX formulas. For instance, the "Analyze" feature in Power BI Desktop allows you to find where distributions are different, which can be a starting point for identifying outliers.
You can read this document for a further study: Use insights to find where distribution is different - Power BI | Microsoft Learn
Best Regards
Yilong Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
User | Count |
---|---|
117 | |
77 | |
58 | |
52 | |
46 |
User | Count |
---|---|
171 | |
117 | |
63 | |
57 | |
51 |