Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

period table creation

hi 

i was looking for dax  to create a period table 

from where i can pick a period like rolling 6 months, last quarter etc...

i have listed time period l am looking to create

 

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi Anonymous ,

     

    Indeed, it will be a little troublesome to use dax.

     

    1.Create a calendar table and a category table.

    Table = CALENDAR(DATE(2020,1,1),DATE(2021,12,31))

     

    2.Create a relationship between calendar table and main table.

     

    3.Create the measure

    FilteredValue =
    SWITCH (
        SELECTEDVALUE ( 'Table (2)'[Category] ),
        "Today", CALCULATE ( SUM ( MainTable[Value] ), FILTER ( 'Table', [Date] = TODAY () ) ),
        "Yesterday",
            CALCULATE (
                SUM ( MainTable[Value] ),
                FILTER ( 'Table', [Date] = TODAY () - 1 )
            ),
        "Month to Date",
            CALCULATE (
                SUM ( MainTable[Value] ),
                DATESINPERIOD ( 'Table'[Date], TODAY (), -1, MONTH )
            ),
        "Rolling 7 days",
            CALCULATE (
                SUM ( MainTable[Value] ),
                FILTER ( 'Table', [Date] <= TODAY () && [Date] >= TODAY () - 6 )
            )
    )

     

    You can check more details from here.

     

    Best Regards,

    Stephen Tao

     

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

     

     

3 Replies

  • PaulDBrown's avatar
    PaulDBrown
    Community Champion

    Anonymous 

    Probably simpler to create the table in Excel and import it, no?

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Indeed, it will be a little troublesome to use dax.

     

    1.Create a calendar table and a category table.

    Table = CALENDAR(DATE(2020,1,1),DATE(2021,12,31))

     

    2.Create a relationship between calendar table and main table.

     

    3.Create the measure

    FilteredValue =
    SWITCH (
        SELECTEDVALUE ( 'Table (2)'[Category] ),
        "Today", CALCULATE ( SUM ( MainTable[Value] ), FILTER ( 'Table', [Date] = TODAY () ) ),
        "Yesterday",
            CALCULATE (
                SUM ( MainTable[Value] ),
                FILTER ( 'Table', [Date] = TODAY () - 1 )
            ),
        "Month to Date",
            CALCULATE (
                SUM ( MainTable[Value] ),
                DATESINPERIOD ( 'Table'[Date], TODAY (), -1, MONTH )
            ),
        "Rolling 7 days",
            CALCULATE (
                SUM ( MainTable[Value] ),
                FILTER ( 'Table', [Date] <= TODAY () && [Date] >= TODAY () - 6 )
            )
    )

     

    You can check more details from here.

     

    Best Regards,

    Stephen Tao

     

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