Forum Discussion

Ry5's avatar
Ry5
Helper I
4 years ago
Solved

Show First 3 selected values then a count

Hi, 
 I have a slicer and am using a card on which I want to show the first 3 selections, then a count of how many additional selections have been made. 
 I can make it show the first three OR a count if more than three are selected. 
 However I can't work out how to make it always show the first 3 no matter how many are selected.

Below is where I've got to, the _Top3 variable isn't working. The other two are fine.
Thank you!

VAR _Count = COUNTROWS( VALUES ('Table'[SlicerColum]) )
VAR _Concat = CONCATENATEX( VALUES('Table'[SlicerColumn]), 'Table1'[SlicerColumn], ", ")
VAR _Top3 = TOPN( 3, 'Table1', _Concat, ASC)

RETURN IF ( _Count > 3,
 _Top3 & " + " & (_Count - 3) & " more",
_Concat )

  • Ry5 try this:

    Top 3 Measure =
    -- Rename to ItemList & [Item] to simplify code
    VAR ItemList =
        SELECTCOLUMNS (
            VALUES ( 'Table'[SlicerColumn] ),
            "Item", 'Table'[SlicerColumn]
        )
    VAR _Count =
        COUNTROWS ( ItemList )
    VAR _Top3 =
        TOPN ( 3, ItemList, [Item], ASC )
    VAR _Concat =
        CONCATENATEX ( _Top3, [Item], ", ", [Item] )
    RETURN
        _Concat
            & IF ( _Count > 3, " + " & ( _Count - 3 ) & " more" )
    

    Regards, Owen

5 Replies

  • tamerj1's avatar
    tamerj1
    Community Champion

    I'm replying here jut to follow on all answers. Thank you

  • Ry5 , Try a measure like

     

    VAR _Count = COUNTROWS( VALUES ('Table'[SlicerColum]) )
    VAR _Top3 = CONCATENATEX( TOPN( 3, allseleccted('Table'[SlicerColumn]), _Count, ASC), [SlicerColumn] )
    RETURN _Top3

    • Ry5's avatar
      Ry5
      Helper I

      Hi, Thank you for the reply but this didn't work. It returns a full list of everything in the slicer. Even if I only select one option.

      • OwenAuger's avatar
        OwenAuger
        Super User

        Ry5 try this:

        Top 3 Measure =
        -- Rename to ItemList & [Item] to simplify code
        VAR ItemList =
            SELECTCOLUMNS (
                VALUES ( 'Table'[SlicerColumn] ),
                "Item", 'Table'[SlicerColumn]
            )
        VAR _Count =
            COUNTROWS ( ItemList )
        VAR _Top3 =
            TOPN ( 3, ItemList, [Item], ASC )
        VAR _Concat =
            CONCATENATEX ( _Top3, [Item], ", ", [Item] )
        RETURN
            _Concat
                & IF ( _Count > 3, " + " & ( _Count - 3 ) & " more" )
        

        Regards, Owen