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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

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
Super User
Super User

@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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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