How do I filter OData results by date or property in Power BI?
Speed up your data refreshes by filtering your OData tables
Filters let you control how much data your OData connection pulls in by telling it to only return rows that match certain conditions. Instead of loading everything and filtering inside your reporting tool, you're trimming the data at the source — which means faster load times and cleaner reports.
How it works
You add a filter by appending a $filter parameter to the end of your OData entity URL. The format looks like this:
?$filter=PropertyName operator 'value'
For example, to return only inspections updated after January 1, 2024:
?$filter=UpdatedAt gt '2024-01-01T00:00:00Z'
You can combine multiple filters using and:
?$filter=UpdatedAt gt '2024-01-01T00:00:00Z' and CompletedAt gt '2024-01-01T00:00:00Z'
Note: Filters are applied to specific entity URLs (like
/schedulesor/scheduledinspections), not the root URL (like/inspections).
Filter operators
| Operator | Meaning | Example |
|---|---|---|
eq |
equals | Status eq 'Open' |
ne |
does not equal | Status ne 'Closed' |
lt |
less than | DueAt lt '2024-06-01T00:00:00Z' |
le |
less than or equal to | DueAt le '2024-06-01T00:00:00Z' |
gt |
greater than | CreatedAt gt '2024-01-01T00:00:00Z' |
ge |
greater than or equal to | CreatedAt ge '2024-01-01T00:00:00Z' |
What you can filter on
Not every column supports filtering. Below is a full list of filterable columns by table.
A few things to keep in mind
- Dates must be formatted as
'YYYY-MM-DDTHH:MM:SSZ'(e.g.'2024-01-01T00:00:00Z') - Only
andis supported for combining filters —oris not available - Columns not listed above don't support filtering and will return an error if used
Weever Forms
Submission data (all form tables) : _id, Form_Created_Date, Form_Created_By, Form_Created_By_Email, Form_Updated_Date, Ticket_Created_Date, Ticket_Updated_Date, Ticket_Updated_By, Ticket_Updated_By_Email, Ticket_Status, Ticket_Time_To_Close, Ticket_Assignee, Ticket_Assignee_Email, Ticket_Comments, Ticket_Due_Date
Note: For forms, filter property names must be written in camelCase (e.g.
FormCreatedDate, notForm_Created_Date).
FormMetrics: Date, FolderId, FolderName, FormId, FormName, FormCreatedAt, FormDeletedAt, FormStatus, SubmissionsTotal, UniqueSubmittersTotal, SubmissionsPointsTotal
User : Id, FirstName, LastName, Email, UserType, Status, JoinedAt, LatestUpdatedAt, PhoneNumber, EmployeeNumber, TicketCreatorNotificationsEnabled, LatestFormSubmissionAt
DatabaseItem : DatabaseId, DatabaseName, TierId, TierName, TierLevel, Id, ParentId, Name, Note, Status, CreatedAt, UpdatedAt, ArchivedAt
Weever Inspections
Schedules: ScheduleId, InspectionTypeId, InspectionTypeName, AssetId, AssetName, FormId, FormName, ShiftId, ShiftName, AssigneeId, AssigneeName, Frequency, DayOfWeek, StartDate, ExpectedDurationMinutes, Status, Note, CreatedAt, CreatedById, UpdatedAt, UpdatedById
ScheduledInspections: ScheduleId, InspectionId, InspectionTypeId, InspectionTypeName, AssetId, AssetName, FormId, FormName, FormSubmissionId, ShiftId, ShiftName, AssigneeId, AssigneeName, ExpectedDurationMinutes, TotalChecks, PassedChecks, FailedChecks, NAChecks, Status, DueAt, CompletedAt, CompletedById, CompletedByName, UpdatedAt, UpdatedById, UpdatedByName
Weever Process
Process submissions : FormId, FormName, Id, Status, CreatedAt, UpdatedAt, SkippedAt, SkippedByName, SkippedReason, UpdatedByEmail
Process : ProcedureId, CategoryId, CategoryName, DepartmentId, DepartmentName, LineWorkAreaId, LineWorkAreaName, Id, Name, Status, StartedAt, StartedById, StartedByEmail, StartedByName, LastUpdatedAt, ClosedAt, ClosedById, ClosedByEmail, ClosedByName, SummaryFormId, SummaryFormVersion, SummaryFormName, SummarySubmissionId, SummarySubmissionVersion, SummarySubmissionStatus, SummarySubmissionCreatedAt, SummarySubmissionUpdatedAt
ProcessTask : ProcedureId, ProcedureVersion, CategoryId, CategoryName, DepartmentId, DepartmentName, LineWorkAreaId, LineWorkAreaName, MachineId, MachineName, ProcessId, ProcessName, StepId, StepName, StepSortOrder, Id, Name, SortOrder, CreatedAt, UpdatedAt, UpdatedById, UpdatedByEmail, DueAt, Status, Priority, RepetitionValue, RepetitionUnits, RoleId, RoleName, AssigneeId, AssigneeEmail, FormId, FormVersion
Department, LineWorkArea, MachineType, Machine, Shift : Id, Name, Status, Notes, CreatedAt, UpdatedAt, DeletedAt (plus DepartmentId / LineWorkAreaId / MachineTypeId where applicable)
User (Process) : Id, Email, FirstName, LastName, Phone, EmployeeType, Status, StatusReason, CreatedAt, UpdatedAt, DeletedAt, PasswordChangedAt, ResetPasswordSentAt, CurrentSignInAt, LastSignInAt, CurrentSignInIp, LastSignInIp, SignInCount