Say I have a sales table:
| product | product category | sales|
|—- |——| —–|
| a | 1 | 10|
| b | 1 | 20|
| c | 2 | 10|
| d | 1 | 15|
| e | 1 | 20|
| f | 2 | 15|
| g | 2 | 10|
| h | 3 | 25|
| i | 3 | 30|
| j | 1 | 15|
| k | 2 | 25|
| l | 2 | 10|
| m | 1 | 5 |
| n | 2 | 25|
| o | 2 | 10|
| p | 3 | 20|
I would like to classify the product as good products according to selected product category filter. Then, calculate the average sales of bad products and good products respectively. Here is my current visual:
These are the logic and DAX of the measures:
avg_sales = CALCULATE(AVERAGE('Table'[sales]),ALLSELECTED())
index = sum('Table'[sales])/[avg_sales]
indicator = IF([index]>1,"Good","Bad")
bad_sales = IF([indicator]="Bad",SUM('Table'[sales]))
The ALLSELECTED() filter refers to the slicer of product category.
The question is how to calculate the average of bad sales?
I have tried to use the calculate and filter combo, but seems like we cannot filter by measure. Also, as the real report consists of not only product category slicer, it is impossible to do the avg_sales for every combination of filterings before importing to Power BI. Thanks in advance.