Forum Discussion

Kopek's avatar
Kopek
Icon for Helper IV rankHelper IV
3 years ago

Calculate previous quarter based on other date indicator

Hello!

I am struggling with calculating previous quarter based on some 'random' date column, not based on the 'mother' calendar date.
I know that all time inteligence works based on the calendar table, but the max date differs when report lvl filter is applyed.
I need to restrict the max date, based on the values_as_of_date from the different table.

I want to acheive something like below, but powerBi does not allow to put variable/ calculate/etc into PREVIOUSQUARTER.
I have also tried with dateadd and other date formulas but nothing really work for me.
Maybe someone here knows a work around for this ?

var maxdate =calculate(max(table[values_as_of_date]),all('Calendar'))

var lastq=calculate(ENDOFMONTH(PREVIOUSQUARTER(maxdate)))

Thanks in advance!

2 Replies

  • rubayatyasmin's avatar
    rubayatyasmin
    Icon for Community Champion rankCommunity Champion

    Hey, Kopek 

     

    here is an idea. 

    First extract month and year from the max date then calculate the quarter. 

     

    something like,

     

    var maxdate = CALCULATE(MAX(table[values_as_of_date]), ALL('Calendar'))
    var currentMonth = MONTH(maxdate)
    var currentYear = YEAR(maxdate)

    // Calculate the previous quarter's year and quarter number
    var previousQuarterYear = IF(currentMonth <= 3, currentYear - 1, currentYear)
    var previousQuarterNumber = SWITCH(TRUE(),
    currentMonth <= 3, 4,
    currentMonth <= 6, 1,
    currentMonth <= 9, 2,
    3
    )

    // Calculate the start and end dates of the previous quarter
    var previousQuarterStart = DATE(previousQuarterYear, (previousQuarterNumber - 1) * 3 + 1, 1)
    var previousQuarterEnd = EOMONTH(DATE(previousQuarterYear, previousQuarterNumber * 3, 1), -1)

     

    return previousQuarterStart, previousQuarterEnd

     

    this is an idea, you need to adjust the code. probably you need to calculate current quarter as well.

     

    see that if this helps

     

    Also, see this thread if that gives you any idea. 

    https://community.fabric.microsoft.com/t5/Desktop/Previous-Quarter-Calculation/td-p/1344347

     

     

    • Kopek's avatar
      Kopek
      Icon for Helper IV rankHelper IV

      Hi rubayatyasmin , thanks for suggestion.

      I ended up doing it in powerquery ๐Ÿ™‚

      Thanks! ๐Ÿ™‚