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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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