Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
rivera11115
Regular Visitor

Dynamic card based on year slicer

Hi,

 

I want the dynamic card to read as follows:

Sales year between 2013 and 2016 -- only if a range of consecutive years are selected ex 2013,2014,2015 & 2016.

Sales year for 2012, 2014, 2015 and 2016 --random years

Sale year 2013 --one year

 

rivera11115_0-1678484702055.png

 

 

1 ACCEPTED SOLUTION

Hi..thank you so much for helping out.

Your code works for the first two scenarios (see original question) but when a single year is chosen the year repeats in the header twice.

rivera11115_0-1678545173895.png

I was able to tweek your code a little and it works great thank you so much!

DateRange =
VAR MaxYear =
    MAX ( 'Calendar'[Year])
VAR MinYear =
    MIN ( 'Calendar'[Year] )
VAR Difference = ( MaxYear - MinYear ) + 1
VAR TotalSelectedValues =
    DISTINCTCOUNT ( 'Calendar'[Year] )
RETURN
IF(TotalSelectedValues= 1, "Sales Year " & CONCATENATEX (VALUES ( 'Calendar'[Year] ), 'Calendar'[Year], " " ),
    IF (
        Difference > TotalSelectedValues,
        "Sales Year for " & CONCATENATEX ( VALUES ('Calendar'[Year] ), 'Calendar'[Year], ", " ),
        IF (
            Difference = TotalSelectedValues,
            "Sales Year Between " & MinYear & " and " & MaxYear,
            IF ( HASONEVALUE ('Calendar'[Year]), SELECTEDVALUE ( 'Calendar'[Year] ) )
        )
    )
)

View solution in original post

5 REPLIES 5
Padycosmos
Solution Sage
Solution Sage

This vdeo illustrates how to create a Dynamic title, in addition to Rankx

https://www.youtube.com/watch?v=inJ3Yt7ay30

Anonymous
Not applicable

Hello @rivera11115 ,

You can try out by using the following measure

_Title = 
Var YearSeries = SUMX(
        SELECTCOLUMNS(
                GENERATESERIES(MIN(date[The_Year]),MAX(date[The_Year]),1),
                "Series",[Value]
                ),
            [Series]
        )
VAR T1 = CONCATENATEX(VALUES(date[The_Year]),date[The_Year],",")
VAR T2 = CONCATENATE(CONCATENATE(MIN(date[The_Year])," and "),MAX(date[The_Year]))
Var SelYears = SUMX(VALUES(date[The_Year]),date[The_Year])

VAR FinalTitle = IF ( YearSeries=SelYears ,CONCATENATE(" between ",T2),CONCATENATE(" for ",T1))
RETURN 
CONCATENATE("Sales year",FinalTitle)


Output

MuskanAgarwal_0-1678523731118.pngMuskanAgarwal_1-1678523743394.png


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



Hi..thank you so much for helping out.

Your code works for the first two scenarios (see original question) but when a single year is chosen the year repeats in the header twice.

rivera11115_0-1678545173895.png

 

rajulshah
Resident Rockstar
Resident Rockstar

@rivera11115 ,

 

Please use the following dax measure:

SelectedYearValues =
VAR MaxYear =
    MAX ( Dates[Year] )
VAR MinYear =
    MIN ( Dates[Year] )
VAR Difference = ( MaxYear - MinYear ) + 1
VAR TotalSelectedValues =
    DISTINCTCOUNT ( Dates[Year] )
RETURN
    IF (
        Difference > TotalSelectedValues,
        CONCATENATEX ( VALUES ( Dates[Year] ), Dates[Year], ", " ),
        IF (
            Difference = TotalSelectedValues,
            "Between " & MinYear & " and " & MaxYear,
            IF ( HASONEVALUE ( Dates[Year] ), SELECTEDVALUE ( Dates[Year] ) )
        )
    )

 

Please let me know if this didn't help.

Hi..thank you so much for helping out.

Your code works for the first two scenarios (see original question) but when a single year is chosen the year repeats in the header twice.

rivera11115_0-1678545173895.png

I was able to tweek your code a little and it works great thank you so much!

DateRange =
VAR MaxYear =
    MAX ( 'Calendar'[Year])
VAR MinYear =
    MIN ( 'Calendar'[Year] )
VAR Difference = ( MaxYear - MinYear ) + 1
VAR TotalSelectedValues =
    DISTINCTCOUNT ( 'Calendar'[Year] )
RETURN
IF(TotalSelectedValues= 1, "Sales Year " & CONCATENATEX (VALUES ( 'Calendar'[Year] ), 'Calendar'[Year], " " ),
    IF (
        Difference > TotalSelectedValues,
        "Sales Year for " & CONCATENATEX ( VALUES ('Calendar'[Year] ), 'Calendar'[Year], ", " ),
        IF (
            Difference = TotalSelectedValues,
            "Sales Year Between " & MinYear & " and " & MaxYear,
            IF ( HASONEVALUE ('Calendar'[Year]), SELECTEDVALUE ( 'Calendar'[Year] ) )
        )
    )
)

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.