Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Var Dateadd Alternative

The Why: So I am building out a visualization that leverages time as a filter/slicer to pick between two points in time. From that filtering/slicer of time (which should be this year), I'm looking to...
  • Anonymous's avatar
    Anonymous
    7 years ago

    Hi Anonymous,

    I modify your formula to use date function to get corresponded previous date, you can try it if it suitable for your requirement:

    Current Year's "burn rate" - 1 =
    VAR mind =
        MINX ( ALLSELECTED ( 'CALENDAR'[Date] ), [Date] )
    VAR maxd =
        MAXX ( ALLSELECTED ( 'CALENDAR'[Date] ), [Date] )
    RETURN
        CALCULATE (
            SUM ( Table1[burn rate] ),
            FILTER (
                Table1,
                Table1[date]
                    >= DATE ( YEAR ( mind ) - 1, MONTH ( mind ), DAY ( mind ) )
                    && Table1[date]
                        <= DATE ( YEAR ( maxd ) - 1, MONTH ( maxd ), DAY ( maxd ) )
            )
        )
    

    In addition, if you want these formula can be dynamic change based on slicer, you can add a what-if parameter table with numeric value, then try modify above formula to use what-if parameter table selected value as unit.

    Current Year's "burn rate" - 1 =
    VAR mind =
        MINX ( ALLSELECTED ( 'CALENDAR'[Date] ), [Date] )
    VAR maxd =
        MAXX ( ALLSELECTED ( 'CALENDAR'[Date] ), [Date] )
    VAR Para =
        SELECTEDVALUE ( ParaTable[Value] )
    RETURN
        CALCULATE (
            SUM ( Table1[burn rate] ),
            FILTER (
                Table1,
                Table1[date]
                    >= DATE ( YEAR ( mind ) - Para, MONTH ( mind ), DAY ( mind ) )
                    && Table1[date]
                        <= DATE ( YEAR ( maxd ) - Para, MONTH ( maxd ), DAY ( maxd ) )
            )
        )
    

     

    Regards,

    Xiaoxin Sheng