Portal Filtering with Relationship Keys
IntermediateControl which related records appear in a portal using relationship predicates, global match fields, and filtered portals -- and understand when each approach is appropriate.
What you'll learn
- How to add filter predicates to a relationship definition
- How to use a global field as a dynamic filter key
- How the "Filter portal records" calculation option works
- When to filter in the relationship vs. in the portal settings
A portal shows all related records matching its relationship predicate. Filtering what those records show -- by status, date, category, or user-controlled criteria -- requires either additional relationship predicates, global match fields, or the newer portal filter feature. Each method has different update semantics and performance characteristics.
Filter predicates in relationship definitions
Add a second predicate to the relationship to filter by a constant value. This creates a new TO (or modifies an existing one) that only shows records matching both the join key and the filter.
// Relationship: show only ACTIVE invoices for this contact // Predicate 1: Contacts::ContactID = InvoicesActive_Contacts::ContactID // Predicate 2: "Active" = InvoicesActive_Contacts::Status // (left side is a constant/global field, right side is the filter field) // In FM relationship graph: // Left match field: a global gStatus with value "Active" (or a constant calc = "Active") // Right match field: Invoices::Status // Operator: =
Sign in to track your progress and pick up where you left off.
Sign in to FM Dojo