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
yazoubi
Frequent Visitor

Applying calculate with filter

Hi Dears, 

Can someone help me please to do a calculation for total staying in accommodation based on movement type (check-in/check-out) and consider the other filter like per user number  and per requester of movement type

 

- The logic will be:

         Total_Stay = (date and time for check out) - (date and time for check-in) per User, per requester, and per accommodation

 

below is an example of the data:

 

date and timeDateUserAccommodationMovement typeRequester
9/23/2021 16:129/23/2021User 1 ACC1Check-InRequester 1
9/25/2021 16:539/25/2021User 1 ACC1Check-OutRequester 1
9/23/2021 16:129/23/2021User 2ACC1Check-InRequester 3
9/25/2021 16:539/25/2021User 2ACC1Check-OutRequester 3

 

Thanks and looking forward to your support. 

 

1 ACCEPTED SOLUTION

@yazoubi , parenthesis are wrong place  , Please check my doubts

 

Datediff(
calculate(min(Table[Date Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] ="Check-In"))
, calculate(Max(Table[DAte Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] =" Check-Out"))
, day)

 

Or Paste the formula in text format

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@yazoubi , Try a new measure like

 


Datediff(calculate(min(Table[Date Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] ="Check-In")),4calculate(Max(Table[DAte Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] =" Check-Out")), day)

Dear @amitchandak ,

Thanks for your reply and note the below error, if you can assist me please

 

yazoubi_0-1632817675909.png

 

@yazoubi , parenthesis are wrong place  , Please check my doubts

 

Datediff(
calculate(min(Table[Date Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] ="Check-In"))
, calculate(Max(Table[DAte Time]), allexcept(Table,Table[Requester], Table[Accommodation], Table[User]), filter(Table, Table[Movement type] =" Check-Out"))
, day)

 

Or Paste the formula in text format

Hi @amitchandak ,

 

The formula in text format as below 

 

Total_Stay = DATEDIFF(CALCULATE(MIN('Accommodation Transaction'[Created date and time]),ALLEXCEPT('Accommodation Transaction','Accommodation Transaction'[Requester],'Accommodation Transaction'[Accommodation],'Accommodation Transaction'[Personnel number]), FILTER('Accommodation Transaction','Accommodation Transaction'[Movement type] ="Check-In")),calculate(Max('Accommodation Transaction'[Created date and time]), allexcept('Accommodation Transaction','Accommodation Transaction'[Requester],'Accommodation Transaction'[Accommodation],'Accommodation Transaction'[Personnel number]), filter(FILTER('Accommodation Transaction','Accommodation Transaction'[Movement type] ="Check-Out"), day)))

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.

Top Solution Authors