Forum Discussion

crisher's avatar
crisher
Helper I
5 years ago
Solved

Count Rows for Previous Quarter

Hello, I have tried multiple ways to calculate the number of records in this table from the previous quarter:

 

Registrations Prev Qtr = CALCULATE(COUNTROWS(Registration), PREVIOUSQUARTER(Registration[Registration_Date__c]))

Registrations Prev Qtr = CALCULATE(COUNTROWS(Registration), PREVIOUSQUARTER(DimDate[Date]))

Registrations Prev Qtr = CALCULATE(COUNT(Registration[Id]), PREVIOUSQUARTER(DimDate[Date]))
--These two come back as (Blank) results. And, the DimDate table is marked as the Date Table in the model.

Registrations Prev Qtr = CALCULATE(COUNTROWS(Registration), DATEADD(DimDate[Date], -1, QUARTER))

Registrations Prev Qtr = CALCULATE(COUNT(Registration[Id]), DATEADD(DimDate[Date], -1, QUARTER))
--These one comes back with a much higher number than expected.

I have made this video to show what I am seeing: https://easierway-my.sharepoint.com/:v:/g/personal/crisher_1path_com/ETqUQgMzMO5EggdP5rT03KIBKQi_NYM4AqDPV1ZEjJM-fQ

I have reviewed this post as well. But, that solution didn't seem to help.

  • I think it's because the PREVIOUSQUARTER function doesn't mean previous to today's date, it's the previous quarter to the earliest date in the current filter context.

    You have the measure in a card, with no filter on date applied.  So, PREVIOUSQUARTER is going to be returning the dates in the quarter before the earliest date in your DimDate table.  Hopefully that's a period where there's no data in your fact table (otherwise you've got an issue with your date table) and is why the measure returns blank.

     

    What happens if you apply a filter to the card visual only, setting DimDate[Date] to today's date?

3 Replies

  • I think it's because the PREVIOUSQUARTER function doesn't mean previous to today's date, it's the previous quarter to the earliest date in the current filter context.

    You have the measure in a card, with no filter on date applied.  So, PREVIOUSQUARTER is going to be returning the dates in the quarter before the earliest date in your DimDate table.  Hopefully that's a period where there's no data in your fact table (otherwise you've got an issue with your date table) and is why the measure returns blank.

     

    What happens if you apply a filter to the card visual only, setting DimDate[Date] to today's date?

    • crisher's avatar
      crisher
      Helper I

      So, that worked. The only issue then is applying that filter context within the DAX measure as I am using that measure in another measure to calculate a ratio. I suppose I need to open a different thread about that.

      • PaulOlding's avatar
        PaulOlding
        Solution Sage

        If you want the measure to always return the previous quarter to today you could have something like

         

        PREVIOUSQUARTER(

        CALCULATETABLE(ALL(DimDate), DimDate[Date] = TODAY()))