Forum Discussion

ManuelGeiger's avatar
ManuelGeiger
Helper I
3 years ago
Solved

Keep specific rows in table visual

Hey all,

 

Is there a way to keep specific rows in a table visual no matter what you filter on?
In my case I have a Bill of Material build with multiple levels which means a level 1 item could contain multiple level 2 items etc.

I would like to filter for "Repair" parts (see screenshot) which are marked with "X" but keep the bill of material structure the same and always show me level 0, 1 and 2.

 

 For example in the screenshot I would filter for "X" within "Repair" (with a slicer) and the table should show me all lines for level 0, 1 and 2 as well as the two lines within level 4 (the ones with the x).

 

I this somehow possible?

  • Hey MFelix ,

    Thanks for your answer. The data structure is just a table. Same as shown in the screenshot above

3 Replies

  • Hi  ManuelGeiger ,

     

    For this you need to create a measure that allows you to make the filter accordingly, something that will add to all the level the X.

     

    How is your data structured, are you using a parent child hierarchy or a flat table?

  • Hey MFelix ,

    Thanks for your answer. The data structure is just a table. Same as shown in the screenshot above

    • MFelix's avatar
      MFelix
      Super User

      HI ManuelGeiger ,

       

      Add a table for the slicer:

       

       

      Try the following measure:

      Repair Filter =
      VAR temptalbe =
          FILTER (
              SUMMARIZE (
                  ALL ( 'Table'[Serial number], 'Table'[Repair] ),
                  'Table'[Serial number],
                  'Table'[Repair]
              ),
              'Table'[Repair] = "X"
          )
      VAR SerialNumber =
          DISTINCT ( SELECTCOLUMNS ( temptalbe, "SerialNumber", 'Table'[Serial number] ) )
      RETURN
          SWITCH (
              SELECTEDVALUE ( 'Repair Slicer'[Repair] ),
              "Yes", IF ( SELECTEDVALUE ( 'Table'[Serial number] ) IN SerialNumber, 1 ),
              "No", IF ( NOT ( SELECTEDVALUE ( 'Table'[Serial number] ) IN SerialNumber ), 1 ),
              1
          )

      Use the measure has a filter on the table and select has is not blank: