Forum Discussion

SQLDev's avatar
SQLDev
Regular Visitor
2 years ago
Solved

Clarification Needed: How Filters Work

As someone who is new to Power BI and just starting to learn, I'm trying to rank products based on their orders. However, I'm encountering an issue where the ranking does not update correctly when I apply a page-level filter on CategoryName. Below is the DAX formula I'm using. Could you please help me identify if I'm missing something?

Total Orders = DISTINCTCOUNT('Sales Data'[OrderNumber])
RankProducts = RANKX(ALLSELECTED('Product Lookup'),
 [Total Orders],
 ,DESC,Dense) 

 

 

  • Initially, the DAX expression wasn't working because I created a calculated column instead of a measure. Once I used the same formula as a measure, it worked perfectly.

    RankProducts = RANKX(ALLSELECTED('Product Lookup'),
     [Total Orders],
     ,DESC,Dense)

     

4 Replies

  • Hi,

    Please try something like below whether it suits your expectation.

     

     

    RankProducts =
    RANKX (
        ALLSELECTED ( 'Product Lookup'[CategoryName], 'Product Lookup'[ProductName] ),
        [Total Orders],
        ,
        DESC,
        DENSE
    )
    

     

    • SQLDev's avatar
      SQLDev
      Regular Visitor

      Thanks for the suggestion. I tried your solution, but it resulted in an error because CategoryName and ProductName are in two different tables:

      • 'Product Categories Lookup'[CategoryName]
      • 'Product Lookup'[ProductName]

       

       
      • Jihwan_Kim's avatar
        Jihwan_Kim
        Super User

        I am not sure how your semantic model looks like, but please try something like below.

         

        RankProducts =
        RANKX (
            ALLSELECTED ( 'Product Lookup'[ProductName] ),
            [Total Orders],
            ,
            DESC,
            DENSE
        )
  • SQLDev's avatar
    SQLDev
    Regular Visitor

    Initially, the DAX expression wasn't working because I created a calculated column instead of a measure. Once I used the same formula as a measure, it worked perfectly.

    RankProducts = RANKX(ALLSELECTED('Product Lookup'),
     [Total Orders],
     ,DESC,Dense)