---
title: How do I filter OData results by date or property in Power BI?
description: Filtering OData URLs
---

[Skip to content](https://support.weeversoftware.com/odata-filter#main-content)

[Submit a Support Issue](https://support.weeversoftware.com/kb-tickets/new?hsLang=en)

[![Weever-wordmark-darkgreen-4](https://support.weeversoftware.com/hs-fs/hubfs/Weever-wordmark-darkgreen-4.png?width=112&height=24&name=Weever-wordmark-darkgreen-4.png)](http://weeversoftware.com/)

Open main navigation

Close main navigation

- [Submit a Support Issue](https://support.weeversoftware.com/kb-tickets/new)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Weever Knowledge Base](https://support.weeversoftware.com/?hsLang=en)
2. [Power BI](https://support.weeversoftware.com/power-bi?hsLang=en)
3. [Reporting Tips](https://support.weeversoftware.com/power-bi?hsLang=en#reporting-tips)

# 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 `/schedules` or `/scheduledinspections`), not the root URL (like `/inspections`).

Filters must be applied to OData URLS that include the form name. For example: 

https://api.prod.weeverapps.com/v1/odata/v0/site/forms/Centerlines\_323-ab38-456c-4324-80836-0352235?$filter=Form\_Created\_Date

### **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 `and` is supported for combining filters — `or` is 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`, not `Form_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`

---

[![Weever-wordmark-darkgreen-4](https://support.weeversoftware.com/hs-fs/hubfs/Weever-wordmark-darkgreen-4.png?width=234&height=50&name=Weever-wordmark-darkgreen-4.png "Weever-wordmark-darkgreen-4")](https://weeverapps.com)

Weever Knowledge Base

<https://www.facebook.com/WeeverApps/> <https://www.linkedin.com/company/weever-apps-inc->

Copyright © 2026, Weever