Skip to content

Dashboard

The Problem with =
The = operator is an identity check. It asks: “Are these two things exactly identical?”. If you use = on a list (even a list with one item), it will silently fail as soon as a second item is added.
.Contains() is a membership check. It asks: “Does this collection contain this item?”. Use .Contains() for all multi-selects and relation columns.

high-priority

The Silent Bug

When a multi-value relation starts with only one item, Filter(Column = Item) will work. But the moment a user adds a second item to that row, the row disappears from the view. Always use .Contains() for columns that allow multiple values.

Projects with Multiple Owners
Name
Owners
Archived
Website Redesign
Q4 Marketing Campaign
Internal Audit
Legacy Cleanup
There are no rows in this table

Strict Membership: ContainsOnly() & ContainsAll()

Sometimes you need to know more than just “is this item in the list?”.
.ContainsAll() asks: “Does this list contain every item I’m looking for?” (It’s okay if other items are present too).
.ContainsOnly() asks: “Does this list contain only the items I’m looking for?” (No extra items allowed).
Below, you can practice writing strict formulas against the DB Content table. For example, finding assets that are exclusively digital by filtering for rows where Channels.ContainsOnly([Website, Email, LinkedIn]).
Content Channels
Name
Channels
Spring Newsletter
Product Launch Video
CEO Blog Post
There are no rows in this table

Boolean Aggregation: Any() vs All()

When evaluating conditional checks across related records (like tasks on a project), .Contains() is no longer the right tool.
When you need to look across a set of tasks and ask “Are all of these delayed?” or “Is any one of them active?”, use .Any() and .All().
I’ve set up a dedicated page to demonstrate these advanced aggregations in action using the DB Tasks you see above: 👉

Wrote a blog post about it ⤵️
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.