My formula below filters Desks that are available for by looking up to an associated entity 'Reservation Details' , if it has already been booked for a selected date range.
Filter(
Filter(
'Bookable Desk',
Area.'Area (hsl_areaid)' = Area_Ddl.Selected.'Area (hsl_areaid)' && Facility.Facility = Building_Ddl.Selected.Facility && !IsBlank(XCoor) && !IsBlank(YCoor)
) As AllDesks,
!(AllDesks.Name in ForAll(
Filter(
'Reservation Details',
Date >= FromDate_Dp.SelectedDate,
Date <= ToDate_Dp.SelectedDate && ('Booking Status' = 'Booking Status (Reservation Details)'.Blocked || 'Booking Status' = 'Booking Status (Reservation Details)'.Booked)
),
'Reserved Desk'.Name
).Value) && !(AllDesks.Name in SelectedSeatBookedBySomeone.ItemName)
)
I encountered a delegation issue today as my 'Reservation Details' records exceeded 2000.
As my formula contains multiple conditions across 2 entities, would there be suggestions on how I can optimize my formula to prevent data loss due to delegation record limit? I read of querying via 'Views', but it seems unlikely due to my conditions.
1) Desk entity
- Area (associated lookup)
- Facility (associated lookup)
2) Reservation Details entity
- Start Date
- End Date
- Selected Desk (lookup to (1) Desk)
- Booking Status
Thank you for any help given.