Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
jr3151006
Helper IV
Helper IV

Help with Measure (DAX) - filter to get the lastest 03 Quarter records

Hi,

 

we need count of records for a Table which belongs to last 03 quarters; I´m trying to using the code below but shows an error.

Can someone help me?

 

---

Measure01 = CALCULATE(
                                         COUNTROWS('Table1'),
                                         FILTER('Table1','Table1'[Data de propositura].[Quarter]=-3))

---

1 ACCEPTED SOLUTION
jr3151006
Helper IV
Helper IV

Since I was unable to find some help to it, I was able to get results using another way as described below:

 

1) Add 02 'Custom Collumn' to the table with help of 'PowerQuery M';

       A) First custom collumn was to find if the 'DateIsInCurrentQuarter' (=Date.IsInCurrentQuarter ([DateField]));

       B) Second custom collumn was  to find if the 'DateIsInPreviousQuarter' (=Date.IsInPreviousNQuarters(Date.AddQuarters([DateField], -1), 2));

2) Create a Measure with filters to ignore records in current quarter and also filter to obtain records where 'previous quarter' is true.

 

Take a look my DAX Measure:

######################

 

 

MeasurePreviousQuarter = CALCULATE(
                    COUNTROWS(Table1),
                    FILTER(
                        Table1,
                        Table1[DateIsInCurrentQuarter] = FALSE()
                        ),
                    FILTER(
                        Table1,
                        Table1[DateIsInPreviousQuarter] = TRUE()
                            )
                        )

 

View solution in original post

7 REPLIES 7
jr3151006
Helper IV
Helper IV

Since I was unable to find some help to it, I was able to get results using another way as described below:

 

1) Add 02 'Custom Collumn' to the table with help of 'PowerQuery M';

       A) First custom collumn was to find if the 'DateIsInCurrentQuarter' (=Date.IsInCurrentQuarter ([DateField]));

       B) Second custom collumn was  to find if the 'DateIsInPreviousQuarter' (=Date.IsInPreviousNQuarters(Date.AddQuarters([DateField], -1), 2));

2) Create a Measure with filters to ignore records in current quarter and also filter to obtain records where 'previous quarter' is true.

 

Take a look my DAX Measure:

######################

 

 

MeasurePreviousQuarter = CALCULATE(
                    COUNTROWS(Table1),
                    FILTER(
                        Table1,
                        Table1[DateIsInCurrentQuarter] = FALSE()
                        ),
                    FILTER(
                        Table1,
                        Table1[DateIsInPreviousQuarter] = TRUE()
                            )
                        )

 

Hi @jr3151006 

 

It seems you only have one table in the model. You can also try the following measure without adding new columns. It uses some Date functions. Date and time functions (DAX) - DAX | Microsoft Docs

MeasurePreviousQuarter =
VAR _currentQuarterStart =
    DATE ( YEAR ( TODAY () ), QUARTER ( TODAY () ) * 3 - 2, 1 )
VAR _previous3QuarterStart =
    EOMONTH ( _currentQuarterStart, -10 ) + 1
RETURN
    COUNTROWS (
        FILTER (
            'Table1',
            'Table1'[Date] >= _previous3QuarterStart
                && 'Table1'[Date] < _currentQuarterStart
        )
    )

 

Additionally, DATEADD is a Time Intelligence function. To use it, it is recommended to have a Date table in the model. Time intelligence functions (DAX) - DAX | Microsoft Docs

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

Hi v-jingzhang,

I'll test this and ping back here in few hours. Tks for your help.

Hi @jr3151006 

 

Does my measure work? Is there any feedback?

 

Best Regards,
Jing

jr3151006
Helper IV
Helper IV

I did some change and now the error is:

 

"MdxScript(Model) (21, 51) Calculation error in measure 'Table1'[Measure067]: Cannot convert value 'Qtr 1' of type Text to type Number."

----


My Current DAX Measure

###################

Measure01 = CALCULATE(
                                         COUNTROWS('Table1'),
                                         FILTER('Table1','Table1'[DateField]='Table1'[DateField].[Quarter]-3))

Tahreem24
Super User
Super User

@jr3151006 Try the below DAX:

Measure = CALCULATE(COUNTROWS(Table1),DATEADD(Datecolumn,-3,QUARTER))

 

 

Don't forget to give thumbs up and accept this as a solution if it helped you!!!

Please take a quick glance at newly created dashboards : Restaurant Management Dashboard , HR Analytics Report , Hotel Management Report, Sales Analysis Report , Fortune 500 Companies Analysis , Revenue Tracking Dashboard

Hi Tahreem24,


tks for quick reply.
Almost there....

 

The result expected (for this test) was '0' since the dates on table are '08/07/2022', '09/07/2016' and '27/11/2020'. Pls, don't get me wrong but I realize that this code just ignores the current the current year.
Maybe we need to adjust the DAX to also consider the current year + quarter in the calc.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.