Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Rolling value calculation

Hi,

 

I have the following question and would like to see if anyone can help. 

DateStore AStore B
Nov-212040
Dec-212040
Jan-222040
Feb-222040
Mar-222040

 

DateStoreSales
Nov-21A10
Dec-21B25
Jan-22A30
Feb-22A20
Mar-22A40

 

There are 2 set of data, if I select the timeframe Dec-21 to Feb-22, it will gives me the sum of Store A in table 1 within that period (20+20+20) divide the sum of Store A data in table 2 (30+20) = 1.2

 

So at the end I will need to have 2 measure one is for Store A and one is for Store B, to calulate the rolling value base on the timeline selected.

 

Thanks for the help!

 

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi  Anonymous ,

    Here are the steps you can follow:

    1. Create calculated table.

    Table =
    CALENDAR(MIN('Table1'[Date]),MAX('Table1'[Date]))

    2. Create measure.

    MeasureA =
    var _mindate=MINX(ALLSELECTED('Table'),[Date])
    var _maxdate=MAXX(ALLSELECTED('Table'),[Date])
    return
    DIVIDE(
    SUMX(FILTER(ALL(Table1),
    'Table1'[Date]>=_mindate&&'Table1'[Date]<=_maxdate),[StoreA]),
    SUMX(
        FILTER(ALL(Table2),
        'Table2'[Date]>=_mindate&&'Table2'[Date]<=_maxdate&&'Table2'[Store]="A"),[Sales]))
    MeasureB =
    var _mindate=MINX(ALLSELECTED('Table'),[Date])
    var _maxdate=MAXX(ALLSELECTED('Table'),[Date])
    return
    DIVIDE(
    SUMX(FILTER(ALL(Table1),
    'Table1'[Date]>=_mindate&&'Table1'[Date]<=_maxdate),[StoreB]),
    SUMX(
        FILTER(ALL(Table2),
        'Table2'[Date]>=_mindate&&'Table2'[Date]<=_maxdate&&'Table2'[Store]="B"),[Sales]))

    3. Result:

     

    If you need pbix, please click here.

    Rolling value calculation.pbix

     

    Best Regards,

    Liu Yang

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

4 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hello,

       

      Is there anyway not using common dates? Since my sales data contains a board range of dates and cannot suit into the store table.

       

      Thank you.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Anonymous ,

    Here are the steps you can follow:

    1. Create calculated table.

    Table =
    CALENDAR(MIN('Table1'[Date]),MAX('Table1'[Date]))

    2. Create measure.

    MeasureA =
    var _mindate=MINX(ALLSELECTED('Table'),[Date])
    var _maxdate=MAXX(ALLSELECTED('Table'),[Date])
    return
    DIVIDE(
    SUMX(FILTER(ALL(Table1),
    'Table1'[Date]>=_mindate&&'Table1'[Date]<=_maxdate),[StoreA]),
    SUMX(
        FILTER(ALL(Table2),
        'Table2'[Date]>=_mindate&&'Table2'[Date]<=_maxdate&&'Table2'[Store]="A"),[Sales]))
    MeasureB =
    var _mindate=MINX(ALLSELECTED('Table'),[Date])
    var _maxdate=MAXX(ALLSELECTED('Table'),[Date])
    return
    DIVIDE(
    SUMX(FILTER(ALL(Table1),
    'Table1'[Date]>=_mindate&&'Table1'[Date]<=_maxdate),[StoreB]),
    SUMX(
        FILTER(ALL(Table2),
        'Table2'[Date]>=_mindate&&'Table2'[Date]<=_maxdate&&'Table2'[Store]="B"),[Sales]))

    3. Result:

     

    If you need pbix, please click here.

    Rolling value calculation.pbix

     

    Best Regards,

    Liu Yang

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

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Yang,

       

      Thanks for the quick response.

       

      The equation is working but if I visualize it in a line chart, it only show 1 result, is there any possibility that it can show also the cumulative trend from 2021 to 2022?

       

      I tried to do this in excel as exmaple, not sure if it works in power BI

       

      Thank you.