Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

USE PARAMETER VALUE FOR A COLUMN VARIABLE

Good evening, I have the following variable to create a new column in which according to the ranking number determined by the value of the Total field per family it is determined, according to the var Quantity, if said family is in the Top or in Altres. This variable works correctly but I would like to change dynamically the value 5 of the variable quantity that is now fixed by using a parameter or something similar. Not being a measure I can't get it to take the value dynamically:

ranking new columna =
where numeroranking = RANKX(ALLSELECTED('TABLE 11 SUMMARISED without week'),'TABLE 11 SUMMARISED without week'[TOTAL BY FAMILY],,DESC,Dense)
where quantity= 5 ------power changing the value of this variable (quantity) dynamically.
return
if(numeroranking<=quantity,"top","others")
Many gràcias for their time and help,
Greetings from Spain.
  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Xavier2609 ,

    What you are creating is a calculated column, and that what-if parameter was used in this new created calculated column? If yes, as the value of a calculated column is computed during data refresh and uses the current row as a context, it will not change according to the user interaction(slicer, filter, column selections etc.) in the report. So it will not return your expected result, when switch the value of what-if parameter in the calculated column... If you want to get the TOPN and others items dynamically, you can refer the following links to get it by creating measure +what-if parameter or TOPN filter function.

    Filter top 3 products with a row for others using DAX in Power BI

    DAX Fridays! #132: Dynamic TopN + Others in Power BI

     

    In addition, you can review the following links about the difference of calculated column and measure...

    Calculated Columns and Measures in DAX

    Calculated Columns vs Measures

    There is a big difference between calculated columns and measures. The value of a calculated column is computed during data refresh and uses the current row as a context; it does not depend on user interaction in the report. A measure operates on aggregations of data defined by the current context, which depends on the filter applied in the report – such as slicer, rows, and columns selection in a pivot table, or axes and filters applied to a chart.

    Best Regards

8 Replies

  • Hello MFelix, thank you very much for your reply. In the Calculated Column, the call to the parameter value still does not work:

    SELECTEDVALUE ( Parameter[Parameter] )

    the problem could be, as I have read, that the functions used internally by HASONEVALUE are incompatible to create table columns with parameter fields.

    If it were a measure it would work.

    Thank you very much for your time.

    Greetings,

    • MFelix's avatar
      MFelix
      Super User

      Hi,

       

      What type of parameter are you using?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        Good evening, thank you for your interest and time.

        I use a numerical range created from a new Parameter.

        Then in the calculated column, in the variable I try to call the value with the expression:

        SELECTEDVALUE ( Parameter[Parameter] )

        But it does not take the courage to make the subsequent comparison:

        where numeroranking = RANKX(ALLSELECTED('TABLE 11 SUMMARISED without week'),'TABLE 11 SUMMARISED without week'[TOTAL BY FAMILY],,DESC,Dense)
        where quantity= SELECTEDVALUE ( Parameter[Parameter] )
        return
        if(numeroranking<=quantity,"top","others")

        If a number is entered instead of SELECTEDVALUE (Parameter[Parameter]), the calculated column works correctly.

        A very cordial greeting,

        Xavi.