Skip to main content
The select clause is primarily managed internally by the Powersheet query framework. Most configurations do not need to specify a select clause explicitly — the system automatically determines required properties based on column bindings and expand paths.

Select Clause Properties

NameTypeDefaultDescription
selectarray of stringAll propertiesList of property names to include in query results. When omitted, all properties of the entity type are returned.

Query-Level Usage

In the query API, the select clause is specified as an array of property path strings:
{
  "from": "UserNeed",
  "select": ["id", "title", "status", "priority"]
}

Automatic Property Inclusion

The query framework automatically ensures that key properties are always included in the select clause, even if not explicitly specified:
Auto-Included PropertyReason
idEntity identification
$typeEntity type resolution
entityTypeNameDomain model type mapping
updatedChange tracking and cache invalidation
projectProject scoping
In most cases, there is no need to manually specify a select clause. The Powersheet query framework computes the required property set from the configured columns, formatters, and constraints.

YAML Configuration Context

The select clause is not directly exposed in the sheet configuration YAML. Instead, the required properties are derived from:
  • Column bindings — each column’s binding path determines which properties to fetch
  • Display property — the display setting on reference columns adds the display field to selection
  • Formatters — conditional formatting expressions reference properties that must be loaded
  • Constraints — runtime constraints may require additional properties for evaluation
diagram

Data Source Query Clause

The data source query definition in the API supports additional clauses alongside select:
ClauseTypeDescription
fromstringRoot entity type
whereobjectFilter predicates
orderByarraySort specification
selectarrayProperty projection
takenumberMaximum number of results to return
topnumberAlias for take

Result Size Control

In addition to projecting specific properties, the query framework supports limiting the number of results:
PropertyTypeDefaultDescription
takenumberUnlimitedMaximum number of entities to return
topnumberUnlimitedAlias for take
Limiting results with take/top may hide data from users. In most Powersheet configurations, all matching entities should be returned and the user can filter interactively. Use result limits only for performance-critical scenarios with known large datasets.

Complete YAML Example

While the select clause is not directly exposed in YAML, the following configuration demonstrates how the column definitions implicitly determine the selected properties:
columns:
  id:
    title: ID
    width: 100

  title:
    title: User Need
    width: 300
    hasFocus: true

  status:
    title: Status
    width: 120

  priority:
    title: Priority
    width: 100

  systemRequirements.systemRequirement.title:
    title: System Requirement
    width: 250

sources:
  - id: requirements
    model: rtm
    query:
      from: UserNeed
      where: <WHERE>
    expand:
      - name: systemRequirements
In this example, the query framework would construct a select clause containing at minimum: id, title, status, priority, $type, entityTypeName, updated, and project.
  • EntityQuery — top-level query containing the select clause
  • Columns — column definitions that drive property selection
  • Column Properties — individual column settings
  • Sources — data source query configuration

Sources: Code: document.ts (DataSourceQueryDTO), QueryManager.tsx, PolarionQueryProcessor.java, Constraints.java
Source Code
  • powersheet.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/cypress/e2e/Sheet/reference.spec.ts
  • GenericQueryResolver.java
  • prod-powersheet-src/com.nextedy.powersheet.client/cypress/fixtures/configurations/constraints_currentDocument_downstream.template.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/api/document.ts