Operators
A filter’s Operation says how the column is compared with the value. The builder only lists the operations that suit the column’s type, sorted A to Z. This page lists the ones the app ships with.
Values is how many values the operation takes: 0 means the builder hides the value fields and a viewer’s pick has nothing to fill; 2 means a from and a to value.
Text and selection columns
Section titled “Text and selection columns”For Char, Text and Selection columns.
| Operation | Values | Keeps rows where the column… |
|---|---|---|
| Is equal to | 1 | equals the value exactly |
| Is not equal to | 1 | is anything else |
| Is in list | 1 or more | equals one of the values |
| Is not in list | 1 or more | equals none of the values |
| Contains | 1 | contains the text, ignoring upper and lower case |
| Does not contain | 1 | doesn’t contain the text, ignoring case |
| Starts with | 1 | starts with the text, ignoring case |
| Ends with | 1 | ends with the text, ignoring case |
| Is empty | 0 | has no value |
| Is not empty | 0 | has a value |
Is equal to and Is in list compare exactly, case included: Sales Order doesn’t match sales order. For pick lists that viewers use, choose Is in list or Is equal to (see Things to know).
Number and relational columns
Section titled “Number and relational columns”For Integer, Float and Monetary columns, and for relational columns (Many2one, Many2many, One2many), which are compared by the record’s id.
| Operation | Values | Keeps rows where the column… |
|---|---|---|
| Is equal to / Is not equal to | 1 | equals / doesn’t equal the number |
| Is greater than / Is greater than or equal to | 1 | is above / at least the number |
| Is less than / Is less than or equal to | 1 | is below / at most the number |
| Is between / Is not between | 2 | is / isn’t between the two numbers, both included |
| Is in list / Is not in list | 1 or more | is / isn’t one of the numbers |
| Is empty / Is not empty | 0 | has no value / has a value |
A value that isn’t a number stops the widget with Filter value ‘…’ is not a valid number for a … field.
Yes/no columns
Section titled “Yes/no columns”For Boolean columns: Is true, Is false, Is empty and Is not empty. None takes a value.
Date and date-and-time columns
Section titled “Date and date-and-time columns”| Operation | Values | Keeps rows where the date… |
|---|---|---|
| Is on / Is not on | 1 | is / isn’t that day |
| Is after / Is on or after | 1 | is later than / on or later than the date |
| Is before / Is on or before | 1 | is earlier than / on or earlier than the date |
| Is between / Is not between | 2 | is / isn’t between the two dates, both included |
| Is up to range end | 2 | is on or before the second date: all history up to the end of the range |
| Is empty / Is not empty | 0 | has no value / has a value |
| Is today | 0 | is today |
| Before today / After today | 0 | is before / after today (on date columns, today itself is left out) |
| This week / This month / This quarter / This year | 0 | falls in the current calendar week (starting Monday), month, quarter or year |
| Year to date | 0 | is between 1 January this year and today |
| Last 7 days / Last 30 days / Last 90 days / Last 365 days | 0 | is on or after today minus that many days, with no end date |
| Total Till Date (TTD) | 0 | is today or earlier |
Is up to range end is meant for date filters with Strictly Follow Operator ticked, where a picked period becomes “everything up to the end of the period”. See Date filters.
When relative dates are worked out
Section titled “When relative dates are worked out”Operations that take no value (Is today, This month, Year to date, Last 30 days and the rest) are worked out against the database’s current date each time the widget loads. A dashboard left open overnight shows the new day after a Refresh.
The Last N days operations have no upper limit, so rows dated in the future, such as planned deliveries, are included.
Deprecated operations
Section titled “Deprecated operations”Every list also offers operations prefixed [Deprecated], such as [Deprecated] Is equal to or [Deprecated] Contains. They exist so that older dashboards keep working. Don’t pick them for new filters: some don’t do what their name says ([Deprecated] Contains matches whole values, like Is in list), and they’re offered on column types they don’t suit.
Where operations are defined
Section titled “Where operations are defined”Operations are records under Odoo Dashboards → Configurations → Custom Operations → Where Operations. Each has an Operation name, a SQL Formula in which {f1} stands for the column, {f2} for the first value and {f3} for the second, and the Field Type it’s offered for.
Operations added there, by an administrator or by the AI features when a plan needs a new date window, appear in the builder’s list next to the ones above. Change the shipped ones only if you understand the formula: every filter that uses an operation changes with it.