Forum Discussion

nhniniras's avatar
nhniniras
Frequent Visitor
3 years ago
Solved

RANKX on selected field parameter

Is there anyone who have succeded creating a dynamic RANKX based on a Parameter Field selection?

Today I have a this "static" Rank measure:

Rank BU and Gross Revenue = RANKX(all(DimOrganisation[BU]), [Gross Revenue],,DESC)
 
But I would be able to create a Rank, based on two parameters I have created as Field Parameters:
Rank Dynamic = RANKX(all("Parameter field selected"), "Parameter measure selected",,DESC)
 
Is that possible?
  • Hi, nhniniras 

    Are you referring to this kind of ‘Field-parameters’ ?

    Currently, PowerBI does not support direct use of field parameters in measure.

     

    Best Regards,
    Community Support Team _ Eason

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hello nhniniras ,

     

    I was also looking a solution for this in the web, and then I realized that "field parameter" is only for Power Bi to understand it, but at the end is about the columns you have included in your fields.

     

    So what I did is to created a measure with an if statement according to the Order of my fields names and is working perfectly (I used the measure to show a specific number of customers in a visual according to a slicer, hence the switch true):

    IF(SELECTEDVALUE(localCustomers[localCustomers Order]) = 0
        ,SWITCH(TRUE()
            ,RANKX(
                ALLSELECTED('Dim Customer'[LOCAL_CUSTOMER_NAME])
                ,[businessMetricCP]
                ,,,Dense
            ) <= SelectedTop,
            1
        )
        ,SWITCH(TRUE()
            ,RANKX(
                ALLSELECTED('Dim Customer'[CUSTOMER_KEY])
                ,[businessMetricCP]
                ,,,Dense
            ) <= SelectedTop,
            1
        )
    )
     
    Hope can help others with the same doubts.

5 Replies

  • nhniniras , You can get what is selected like this

    example

    What is selected = maxx(filter(;]'Axis Slicer', 'Axis Slicer'[Axis Slicer Order]= SELECTEDVALUE('Axis Slicer'[Axis Slicer Order])),'Axis Slicer'[Axis Slicer])

     

    better to have two measure and switch that

  • nhniniras's avatar
    nhniniras
    Frequent Visitor

    Thank you for your suggestion, I relly appreciate your help 🙂


    I am not sure I understand it correctly, but as far as I understand I can't use your "what is selected" as a part of my "Rank dynamic" measusre.
    Your suggestion is another approach of solving the problem, including a new measure "what is selected" and then you will put that measure into a kind of Switch function -  Have I understood it correctly?

    • v-easonf-msft's avatar
      v-easonf-msft
      Icon for Community Support rankCommunity Support

      Hi, nhniniras 

      Are you referring to this kind of ‘Field-parameters’ ?

      Currently, PowerBI does not support direct use of field parameters in measure.

       

      Best Regards,
      Community Support Team _ Eason

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hello nhniniras ,

         

        I was also looking a solution for this in the web, and then I realized that "field parameter" is only for Power Bi to understand it, but at the end is about the columns you have included in your fields.

         

        So what I did is to created a measure with an if statement according to the Order of my fields names and is working perfectly (I used the measure to show a specific number of customers in a visual according to a slicer, hence the switch true):

        IF(SELECTEDVALUE(localCustomers[localCustomers Order]) = 0
            ,SWITCH(TRUE()
                ,RANKX(
                    ALLSELECTED('Dim Customer'[LOCAL_CUSTOMER_NAME])
                    ,[businessMetricCP]
                    ,,,Dense
                ) <= SelectedTop,
                1
            )
            ,SWITCH(TRUE()
                ,RANKX(
                    ALLSELECTED('Dim Customer'[CUSTOMER_KEY])
                    ,[businessMetricCP]
                    ,,,Dense
                ) <= SelectedTop,
                1
            )
        )
         
        Hope can help others with the same doubts.