Portal Filtering with Relationship Keys

Intermediate

Control 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.

1/4
1

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.

TEXT
// 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