Forum Discussion
Filter based on rank
For some reason can't work this out
I have a table with products 1,2,3,4,5,6
I can filter on any combination
I have another table with selected product, based on rank of the product ID
I'm trying to write a measure to say which product I have selected -
For example:
products filter = 2,4,5
selected product = 2
The result should be product 4, as this is the second in the list of products filter
Hi SteveCampbell,
Can you share a sample and the expected result? Especially the data structure. Please check out the demo in the attachment.
Measure = VAR whichOne = SELECTEDVALUE ( selectedProducts[Selected] ) RETURN MAXX ( FILTER ( SUMMARIZE ( 'Products', Products[ProductName], "ranks", RANKX ( ALLSELECTED ( 'Products' ), CALCULATE ( SUM ( Products[ProductID] ) ), , ASC ) ), [ranks] = whichOne ), [ProductName] )Best Regards,
Dale
4 Replies
- SteveCampbellMemorable Member
Measure = var _selected_product = FIRSTNONBLANK('Product Spot'[ProductSpot],99) var _invent_prod_rank = CALCULATE(RANKX(ALLSELECTED(prods),FIRSTNONBLANK(prods[prod item],1),,ASC)) var _selected_item_table = FILTER(ADDCOLUMNS(VALUES(prods[prod item]) "AA", _invent_prod_rank ) ,[AA]=_selected_product)was where I was going, which works but only with prod item row context
- SteveCampbellMemorable Member
Measure = var _selected_invent_spot = min('Inventory Spot'[Inventory Spot]) return CALCULATE(MAX(inventory[inventory item]), FILTER( ADDCOLUMNS(VALUES(inventory[inventory item]),"AAA", RANKX(ALLSELECTED(inventory),inventory[inventory item],,asc) ) ,[AAA]=_selected_invent_spot))So my issue was FIRSTNONBLANK
- v-jiascu-msftMicrosoft Employee
Hi SteveCampbell,
Can you share a sample and the expected result? Especially the data structure. Please check out the demo in the attachment.
Measure = VAR whichOne = SELECTEDVALUE ( selectedProducts[Selected] ) RETURN MAXX ( FILTER ( SUMMARIZE ( 'Products', Products[ProductName], "ranks", RANKX ( ALLSELECTED ( 'Products' ), CALCULATE ( SUM ( Products[ProductID] ) ), , ASC ) ), [ranks] = whichOne ), [ProductName] )Best Regards,
Dale
- SteveCampbellMemorable Member
Both solutions work, the selected answer is cleaner