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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
CPaceFOTL
Frequent Visitor

Count Records Based off of Date Calculation

I have written a measure to determine the next upcoming Friday's date based off of today's date.  I'm sure there is a better way, but basically I used a combination of CALCULATE, IF and WEEKDAY to determine how many days needed to be added to TODAY to get the upcoming Friday, if not Friday already.

 

Now I am wanting to use this calculation in another measure to determine how many items are due by the upcoming Friday; however, I get the error that a calculation can not be used as  a filter.  Is there a way around this?

 

My data has a "Due By" date, so I want to count the number of rows that are not in a CLOSED or REJECTED status (another column in the rows) that are "due by" the upcoming Firday.

 

The masure I was trying is below.

 

Due_By_FRI = CALCULATE(COUNT([defect_id],[defect_status]<>"Closed",[defect_status]<>"Rejected",[ECT]<=[FRI_DTE]

 

I get the below error

 

A function 'CALCULATE' has been used in a True/False expression that is used as a table filter expression. This is not allowed.

 

If I change [FRI_DAE] to TODAY(), then it will count the number today by TODAY or if I do TODAY()+/- n it will give me the number due by today +/- the number.  However, I want it to due this automatically.

 

Any suggestions would be greatly appreciated.

 

Thanks,

 

C Pace

1 ACCEPTED SOLUTION
BhaveshPatel
Community Champion
Community Champion

You should use FILTER function as a filter argument in the CALCULATE. Something like below...

 

Due_By_FRI = CALCULATE(COUNT([defect_id],[defect_status]<>"Closed",[defect_status]<>"Rejected",FILTER('defectstable,[ECT]<=[FRI_DTE]))

 

Is [ECT] a measure or column?

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.

View solution in original post

2 REPLIES 2
BhaveshPatel
Community Champion
Community Champion

You should use FILTER function as a filter argument in the CALCULATE. Something like below...

 

Due_By_FRI = CALCULATE(COUNT([defect_id],[defect_status]<>"Closed",[defect_status]<>"Rejected",FILTER('defectstable,[ECT]<=[FRI_DTE]))

 

Is [ECT] a measure or column?

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.

Thank you very much Bhavesh!  This worked great and gave me the results just like I wanted.  To answer your question, ECT is a column in the table data.

 

Thanks,

 

Craig

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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