Forum Discussion
Top N as a dynamic filter
- 8 years ago
Hi Anonymous,
1. Create a table like below. Do not establish relationship with other tables.
Rule ID
top 1 - 10 1 top 10 - 20 2 top 20 - 30 3 2. Create a measure like below.
rankColorName = VAR rankShouldBe = RANKX ( ALL ( DimProduct[ProductName] ), CALCULATE ( SUM ( FactSales[SalesQuantity] ) ) ) RETURN IF ( HASONEFILTER ( ruleTable[Rule] ), IF ( MIN ( ruleTable[ID] ) = 1 && rankShouldBe <= 10, rankShouldBe, IF ( MIN ( ruleTable[ID] ) = 2 && rankShouldBe > 10 && rankShouldBe <= 20, rankShouldBe, IF ( MIN ( ruleTable[ID] ) = 3 && rankShouldBe > 20 && rankShouldBe <= 30, rankShouldBe, BLANK () ) ) ), rankShouldBe )3. Create a table visual and a slicer like below.
Best Regards,
Dale
Hi Anonymous,
1. Create a table like below. Do not establish relationship with other tables.
Rule ID
| top 1 - 10 | 1 |
| top 10 - 20 | 2 |
| top 20 - 30 | 3 |
2. Create a measure like below.
rankColorName =
VAR rankShouldBe =
RANKX (
ALL ( DimProduct[ProductName] ),
CALCULATE ( SUM ( FactSales[SalesQuantity] ) )
)
RETURN
IF (
HASONEFILTER ( ruleTable[Rule] ),
IF (
MIN ( ruleTable[ID] ) = 1
&& rankShouldBe <= 10,
rankShouldBe,
IF (
MIN ( ruleTable[ID] ) = 2
&& rankShouldBe > 10
&& rankShouldBe <= 20,
rankShouldBe,
IF (
MIN ( ruleTable[ID] ) = 3
&& rankShouldBe > 20
&& rankShouldBe <= 30,
rankShouldBe,
BLANK ()
)
)
),
rankShouldBe
)
3. Create a table visual and a slicer like below.
Best Regards,
Dale
I have a similar situation. i tried this method. It does work. However, i cant get it to closure since i dont want to show the "rankcolorName" in the view.
How can i achieve it?