Prerequisites
Before configuring expansion paths, ensure you have:- A domain model with entity types and relationships defined
- A sheet configuration with at least one source
- Familiarity with writing entity queries
How Expansion Connects Model, Source, and Columns
The three configuration layers — domain model, sheet sources, and sheet columns — connect through navigation property names. The domain model defines entity types and relationships. Sources define how to query and expand those relationships. Columns define how to display the resulting data. The cardinality of a relationship determines the expand pattern and the column binding syntax.Shared Domain Model for Examples
All examples below use this domain model:direct and back navigation direction. The direct side navigates from the from entity toward the to entity. The back side navigates in reverse.
Step 1: Expand a Many-to-One Relationship (N:1)
Scenario: EachUserNeed belongs to exactly one Chapter. Use the direct direction — the navigation property chapter (singular, scalar).
Add the expand to your source configuration:
chapter— renders a single-value reference picker (scalar navigation property)chapter.title— displays the referenced Chapter’s title as a read-only column
Step 2: Expand a One-to-Many Relationship (1:N)
Scenario: EachChapter has multiple child UserNeed items. Use the back direction — the navigation property userNeeds (plural, collection).
userNeeds— expands into child rows in the sheet, creating a new grid level- No dot-notation is needed; the expand directly opens the child level beneath each parent row
Step 3: Expand a Many-to-Many Relationship (M:N)
Scenario:UserNeed items are linked to multiple SystemRequirement items and vice versa. Many-to-many relationships use an association entity between the two types.
The source expand requires two levels — first to the association entity, then through to the target entity:
systemRequirements— navigates to the association entitysystemRequirements.systemRequirement— navigates through to the targetSystemRequiremententity, acting as a multi-item reference pickersystemRequirements.systemRequirement.title— displays the target entity’s title
Step 4: Build Deep Multi-Level Hierarchies
You can nest expansion paths to any depth. For a full requirements traceability matrix (RTM), chain expansions across multiple entity types:Step 5: Apply Document-Scoped Expansion
Constrain expanded entities to the current document by addingconstraints to the source:
applyCurrentDocumentTo constraint filters expanded SystemRequirement entities to only include those from the same Polarion document context. This is useful when your document contains a scoped subset of work items and you want expansions to respect that boundary.
Cardinality Quick Reference
| Cardinality | Model definition | Source expand | Column binding | UI behavior |
|---|---|---|---|---|
| N:1 | cardinality: many-to-one, direct.name: chapter | - name: chapter | chapter, chapter.title | Single-value reference picker |
| 1:N | Reverse of N:1, back.name: userNeeds | - name: userNeeds | userNeeds | Child rows (new grid level) |
| M:N | cardinality: many-to-many, back.name: systemRequirements | - name: systemRequirements then - name: systemRequirement | systemRequirements.systemRequirement | Multi-item reference picker |
Common Pitfalls
Verify Your Configuration
After saving your sheet configuration:- Open the Polarion document that uses this sheet configuration
- You should now see nested rows under each parent entity corresponding to the expanded navigation properties
- For N:1 expansions, verify the reference picker column shows the correct related entity
- For 1:N expansions, verify child rows appear beneath each parent
- For M:N expansions, verify the dot-notation columns display target entity properties through both expand levels
See Also
- Write an Entity Query — basics of the
fromclause and query structure - Configure a Relationship — how to define relationships with
directandbacknames - Configure Many-to-Many Relationships — association entity setup for M:N links
- Create Bidirectional Links — linking entities in both directions
- Configure Multi-Item Column — column settings for collection bindings
- Configure Sources — full source configuration reference
- Optimize Queries — performance tips for deep expansion paths
- Filter by Document — apply document constraints to queries
Sources
Sources
Source Code
PolarionQueryProcessor.javaDatabridgeMetadata.javaPowersheetConfig.d.ts