Forum Discussion

edant's avatar
edant
Regular Visitor
4 years ago
Solved

Slicer options return incorrect data

Hello,   I want to create a slicer with several pre-defined options to select from. The options should return data from today, the last 7 days, the last 30 days, the last 90 days. It seems that t...
  • v-yalanwu-msft's avatar
    4 years ago

    Hi, edant ;

    Because the conditional statement of switch takes the first condition [Date] = TODAY (), "Today" first, if your date meets today, then it can only return a result today instead of "Last Week";
    Maybe you can try the following methods:
    1.enter table.

    2.create a flag measure.

    flag = 
    SWITCH (
        MAX ( 'slicer'[slicer] ),
        "Today", IF ( MAX ( 'Table'[date] ) = TODAY (), 1 ),
        "Last Week",
            IF (
                DATEDIFF ( MAX ( 'Table'[date] ), TODAY (), DAY ) <= 7
                    && MAX ( 'Table'[date] ) <= TODAY (),
                1
            ),
        "Last Month",
            IF (
                DATEDIFF ( MAX ( 'Table'[date] ), TODAY (), DAY ) <= 30
                    && MAX ( 'Table'[date] ) < TODAY (),
                1
            ),
        "Last 3 Months",
            IF (
                DATEDIFF ( MAX ( 'Table'[date] ), TODAY (), DAY ) <= 90
                    && MAX ( 'Table'[date] ) < TODAY (),
                1
            )
    )

    3.apply it into filter.

    The final output is shown below:

    If it does not meet your needs, It would be great if there is a sample file without any sesentive information here.
    It makes it easier to give you a solution.

    Best Regards,
    Community Support Team_ Yalan Wu


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