Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Dynamic Top N slicer (interaction with other Visuals)

Dears,

 

I have created a Top N slicer, which shows me the chosen Top N of Expenses of Assets. I have created a new Table, parameter and a measure "Top N Asset) for the slicer: see below the measure:

 

 

TOP N Asset =
VAR SelectedTop = SELECTEDVALUE('TOP N'[TOP N])
RETURN
SWITCH(TRUE();
SelectedTop = 0;[Expenses USD];
RANKX (
ALLSELECTED(Basis[Asset Name ]);
[Expenses USD]
)
<= SelectedTop;
[Expenses USD]
)
 
 
My Problem now is, that the Table with the Top N dont interagate with the other visuals. If I choose TOP 5 Assets, the table shows me the Top 5 but the other Visuals show me the all. How can I connect the new Table with my imported Table from Excel (called Basis).
 
I tried to make a relationship, but it doesnt work. I think because I dont have a column with the same values. I dont know how to copy the columns from the Table Basis to the new Table.
 
 
Maybe someone have an Idea, how I can solve that problem?
 
Thank you in advance.
  • v-yingjl's avatar
    v-yingjl
    6 years ago

    Hi Anonymous ,

    If you want to use the parameter to interact with other visuals, you can create a calculate column for rank first:

    Rank = RANKX('Basis','Basis'[Expenses USD])

    Then create a control measure, set its value as 1 and put it in the filter of the visual like table:

    Slicer control = 
    IF ( SELECTEDVALUE ( 'Basis'[Rank] ) <= [TOP N Value], 1, 0 )

    The result may like this:

    Here is the sample file that hopes to help you, please try it: PBIX 

    By the way, which confused me is that if you want to show the topn result in the visual, why not create a rank column like the previous mentioned and use it as a slicer directly instead of using what-if parameters to create topN manually.

     

    Best Regards,
    Yingjie Li

    If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • v-yingjl's avatar
    v-yingjl
    Icon for Community Support rankCommunity Support

    Hi Anonymous ,

    If you want to copy some columns from one table, you can create a calculate table like this:

    Copy table =
    SUMMARIZE ( 'Table', 'Table'[column1], 'Table'[column2] )

    Please refer: https://docs.microsoft.com/en-us/dax/summarize-function-dax 

    If not help, could you please consider provide a dummy .pbix or sample data for further discussion?

     

    Best Regards,
    Yingjie Li

    If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi v-yingjl

       

      I have already tried that. The problem is, that then the Parameter doesnt work.

       

      I also tried with "addclolumn" in the parameter it doesnt work to, maybe I did it wrong.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi v-yingjl 

      below you can see a smal version of my Datatable (Basis).

       

      CountryCategoryAsset NameExpenses USDFEEActivationMedia
      GermanyFootballAccor Hotels Arena 2000200000
      BelgiumVenueOlympia3000200010000
      GBMusicZenith4000100020001000
      GermanyFootballFootball cup5000250025000
      FranceVenueFederation Française de Football6000200020002000
      FranceMusicParis Saint-Germain7000300020002000
      FranceOtherParis Other8000200040002000

       

      The other Table is parameter (What if): Generateseries(0;20;1) + the measure from my first post.

       

      I want a slicer that shows me the Top N of Assets. I got it, but the slicer or the Table dont interact with the other visuals. The others show always all Assets, not the TOP N.

       

      Is that enough?

       

      Thank you, 

       

      Albert

       

      • v-yingjl's avatar
        v-yingjl
        Icon for Community Support rankCommunity Support

        Hi Anonymous ,

        If you want to use the parameter to interact with other visuals, you can create a calculate column for rank first:

        Rank = RANKX('Basis','Basis'[Expenses USD])

        Then create a control measure, set its value as 1 and put it in the filter of the visual like table:

        Slicer control = 
        IF ( SELECTEDVALUE ( 'Basis'[Rank] ) <= [TOP N Value], 1, 0 )

        The result may like this:

        Here is the sample file that hopes to help you, please try it: PBIX 

        By the way, which confused me is that if you want to show the topn result in the visual, why not create a rank column like the previous mentioned and use it as a slicer directly instead of using what-if parameters to create topN manually.

         

        Best Regards,
        Yingjie Li

        If this post helps then please consider Accept it as the solution to help the other members find it more quickly.