Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago

Dynamic names in field parameters (Selectedvalue)

Hi community,

 

I am trying to get dynamic column names in my tables in a way that it always shows the Gross revenue for the selected year and the year before. 
I am using a field parameter and I have tried the below code (and max, last date etc etc) 

 

_DynamicMeasuresGrossRevenue =
{
    ("Gross Revenue " & SELECTEDVALUE('Calendar (Posting Date)'[Year]), NAMEOF('_Measures'[Gross Revenue]), 0),
    ("Gross Revenue " & SELECTEDVALUE('Calendar (Posting Date)'[Year])-1, 1)
}

But it won't show the selectedvalue in the report. 
I think this should have been one of the basic functionalities and I can't seem to get it working. 
I know I can change the names dynamically with current date and last month or current year last year etc, but I want the 'SELECTED' years and not only to compare against current year. https://www.youtube.com/watch?v=9_2m5Csr55c&t=186s&ab_channel=Hari%27sBI This video showed me how to change my name but not without selectedvalue (It is not my video or anyone I know, just an example that it should be possible)

I only found one other post about this in all posts online and it got no answer and over 100 views. https://stackoverflow.com/questions/75338705/using-selectedvalue-with-field-parameter-prior-period-title-change

What I want to achieve is when I select 2022 to have the columns Gross Revenue 2022, Gross Revenue 2021 and all my other columns. When I select 2021 I expect to have Gross Revenue 2021, 2020 and all my others etc.

Right now it is showig as blank when I use selectedvalue, and while today, hardcoded values etc seem to work, max(Year), Selectedvalue(Year) do not seem to work. 

 

 


I can not share the actual data as it is sensitive, but I would like to be able to use dynamic names as I want to do this for revenue, sales quantity etc. The values do update and show selected year and last year, but the column name doesn't.


Gross revenue is defined as SUM(Gross Revenue)
Gross revenue last year is defined as 
_Gross Revenue LastYear =
VAR SelectedYear = SELECTEDVALUE('Calendar (Posting Date)'[Year])
RETURN

CALCULATE(
    [Gross Revenue],
    FILTER(
        ALL('Calendar (Posting Date)'),
        'Calendar (Posting Date)'[Year] >= SelectedYear - 1 && 'Calendar (Posting Date)'[Year] <+ SelectedYear
    )
)

If anyone could help me out it would be highly appreciated, 
Kind regards. 

26 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi, 

    I have shown the sample output I would like to aquire. 

    I want gross revenue 2022, gross revenue 2021 if I select year = 2022

    I want gross revenue 2021, gross revenue 2020 if I select year = 2021 etc. 

    I know the functions TODAY() and today - value works, but I want to do it on a selection based.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hello, I tried to solve this also. I would say I find the answer - it is not possible in this way.

     

    Reason - the parameter table is still a table, it is created with refresh of the dataset. At this point, it is no dynamic anymore. It can use the date, time or alternative result from selectedvalue { SELECTEDVALUE( table[column], alternative) }, but not the selected value itself, as there is any at that moment.

  • Ismail_Cinar's avatar
    Ismail_Cinar
    Frequent Visitor

    I am also looking for a solution exactly for this case. SELECTEDVALUE returnes nothing when used in Field Parameters. Did you find something Anonymous  noverkamp ?

    lbendlin , man you don't need a sample data for this case. Just created a field parameter and put one measure inside. For example, put a measure named as "Net Sales". I assume you would have a YEAR table in your dataset. The idea is to change the measure display name based on a selected year. If you select 2023, the measure name must be "Net Sales 2023" or "Net Sales 2022" based on the selected value.  (But only in Field Parameter, no need to provide other workarounds)

  • Olá... Estava com o mesmo problema, consegui resolver criando uma medida da seguinte forma:

     

    Nome_Título =
        SELECTCOLUMNS('Parâmetro de Campo",'Parâmetro de Campo'[Campo])
     
    Como no filtro em que está o parâmetro já está configurado para seleção única, o resultado dessa medida mostra apenas o nome do coluna selecionada.
     
    Espero que possa ajudar de alguma forma 😃
    _____________________________________________________________
     

    Hello... I had the same problem, I managed to solve it by creating a measure as follows:

     

    Name_Title =SELECTCOLUMS('Field Parameter",'Field Parameter'[Field])

     

    As in the filter where the parameter is already configured for single selection, the result of this measure only shows the name of the selected column.

     

    I hope I can help in some way 😃

     

    PS.: Traduzido pelo google
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi, i am having the same doubt regarding the use of the Function (SELECTEDVALUE) in field parameter.
    The below is my Dax Code:

    test =
    VAR selectedyear= SELECTEDVALUE('DATE '[Year])
    --VAR slicer= FORMAT((selectedyear),BLANK())

     

    return
    {
        (selectedyear, NAMEOF('Actuals_Sales Testing'[selected_year]), 0),
        (selectedyear-1 , NAMEOF('Actuals_Sales Testing'[selected_year-1 ), 1),
        ( selectedyear-2, NAMEOF('Actuals_Sales Testing'[selected_year-2]), 2),
        (selectedyear-1 vs selectedyear-2 , NAMEOF('Actuals_Sales Testing'[Prev % Diff YOY ]), 3),
        (selectedyear vs selectedyear-1, NAMEOF('Actuals_Sales Testing'[Curr % Diff YOY]), 4),
        ("3 Year CAGR tt", NAMEOF('Actuals_Sales Testing'[3 Year CAGR tt]), 5)
    }
    The required output:
    if 2024 is selected in slicer,test should return like 

    if 2023 is selected it should return like below

    is there any possible way or just give the names as fixed?




    • Anonymous's avatar
      Anonymous
      Not applicable

      Nothing yet no unfortunately.

  • jpr94's avatar
    jpr94
    New Member

    Hi there!

    I'm experiencing the same issue and still haven't found a solution.

    From my understanding, the example you shared works because, when creating the column, Power BI "knows" the result of the Today() method and "saves" it in the column—meaning it stops being dynamic. I dare to say that it's currently impossible because the problem seems to be that the column name is created before the dashboard context is applied, and they aren't connected. As a result, it can't take dynamic values. It would be an amazing feature if this could work similarly to the "fx" option for titles in objects, for example.

    I know my comment doesn’t provide a solution, but I wanted to share why I believe there isn’t an approach today that would work for this. ðŸ™ƒ

  • Hello!

     

    Has anyone managed to work around or resolve this issue?

    I'm having this problem.

     

    Best regards.