Try it free

DQL Table

  • Latest Dynatrace
  • Reference
  • 8-min read
  • Published Jul 13, 2026
DQL table card displaying query results with sortable columns and row actions in an Entity Details page
DQL table card displaying query results with sortable columns and row actions in an Entity Details page

type: 'dql-table'

A data table driven by a DQL query, with columns, filtering, grouping, and perspectives. Usually the main component of an explorer view.

Fields

In addition to the shared CoreElement fields (see Elements overview):

PropertyTypeDescription

title

string

Card title.

description

string (optional)

Card description.

dqlQuery

DqlTableQuery

The base query, lookups, and additional commands that populate the table.

columns

(DqlTableColumn | BuiltInColumn)[]

Column definitions. Mix custom columns with built-in references.

perspectives

DqlTablePerspective[] (optional)

Named column-visibility/sort presets the user can switch between.

defaultPerspective

string (optional)

Name of the perspective selected by default.

alertGroups

HealthAlertGroup[] (optional)

Health indicator config. See Health indicators.

grouping

DqlTableGroupingConfig (optional)

Row-grouping configuration.

rowThresholds

RowThreshold[] (optional)

Rules for highlighting or marking rows based on field values.

interactiveRows

string | boolean (optional)

Field used to highlight the active row (matched against the detailsId search param), or true/false to toggle row interactivity generically.

expandableRowSchema

ExpandableContentLayoutElement (optional)

Layout rendered inside an expanded row.

expandOnClick

boolean (optional, default false)

When true, clicking a row toggles its expandable content instead of navigating.

expandableContentHeight

number (optional, default 320)

Height reserved for expanded row content.

toolbarItems

DqlTableToolbarActions (optional)

Toolbar action buttons.

cellActions

DqlTableCellActions (optional)

Actions available per cell.

rowActions

DqlTableRowActions (optional)

Actions available per row.

actions

CardActions (optional)

Card-level action buttons.

displaySearch

boolean (optional, default false)

Show a search box in the toolbar/header.

selectableRows

boolean (optional)

Enable row selection.

alwaysRequiredFields

string[] (optional)

Fields always fetched from Grail, even when not visible as columns.

generateDqlOptions

GenerateDqlOptions (optional)

Controls DQL generation details such as limits and lookup ordering.

tableMode

'normal' | 'compact' (optional, default 'normal')

Overall table density/mode.

loadingMode

'spinner' | 'skeleton' (optional, default 'spinner')

Loading indicator style.

fieldsMode

'strict' | 'loose' (optional, default 'loose')

'strict' fetches only fields referenced by columns; 'loose' fetches everything the query returns.

DqlTableQuery

Describes the data that populates the table. It is composed of:

  • a main query (query) that produces the primary set of rows, and
  • optional lookups and additionalCommands that append extra data used by columns.

Every field referenced by a column must be provided by one of these queries. If a field is not found among the lookups or additionalCommands outputs, it is assumed to come from the main query.

PropertyTypeDescription

idField

string

Field that uniquely identifies each row. Required to merge lazily-fetched columns back into rows.

query

string

The base DQL query that provides the main set of rows.

lookups

(DqlTableLookup | AlertLookup)[] (optional)

Lookup queries joined onto the base query to append fields.

additionalCommands

DqlTableAdditionalCommand[] (optional)

Extra query fragments that compute derived fields.

DqlTableLookup

PropertyTypeDescription

query

string

The lookup query.

sourceField

string

Field in the base query to join on.

lookupField

string

Field in the lookup query to join on.

fields

string[]

Fields pulled from the lookup result.

AlertLookup (built-in lookup)

A built-in alternative to DqlTableLookup, identified by builtInLookup: 'ALERTS_LOOKUP'. Resolved at runtime to a health-indicators lookup.

PropertyTypeDescription

builtInLookup

'ALERTS_LOOKUP'

Discriminant.

lookupField

string (optional, default 'affected_entity_ids')

Entity ID field the lookup matches against.

dqlCondition

string (optional)

Filter expression distinguishing main-entity events from relation events.

relations

AlertLookupRelation[] (optional)

See Health indicators.

expandFields

string[] (optional)

Fields to expand.

additionalFields

string[] (optional)

Extra event fields to include.

filterExpression / volatileFilterExpression / problemFilterExpression

string (optional)

Pre-filter expressions (without the leading | filter).

DqlTableAdditionalCommand

PropertyTypeDescription

dependencies

string[]

Fields this command needs resolved first.

fields

string[]

Fields this command produces.

query

string

The DQL command fragment (for example, | fieldsAdd ...).

appendBeforeLimit

boolean (optional)

Experimental — appends the command after filters but before the limit clause.

DqlTableColumn

PropertyTypeDescription

id

string

Unique column ID.

field

string

Field accessor; must correspond to a field produced by the query.

displayName

string

Column header label.

type

'text' | 'date' | 'number' | 'array' | 'record' | 'bit' | 'sparkline' | 'meterbar' | 'gantt' | 'log-content' | 'markdown' (optional)

Column type; affects alignment and default sort behavior.

cellRenderer

CellRenderer (optional)

Built-in cell renderer configuration. See below.

widthType

'pixels' | 'auto' | 'ratio' (optional)

Width sizing strategy.

widthValue

number (optional)

Width value paired with widthType.

minWidth

number (optional)

Minimum width in pixels.

sortable

boolean (optional, default true)

Whether the column can be sorted.

sortDescFirst

boolean (optional)

First click sorts descending instead of ascending.

customSortDql / customSortField

string (optional)

Overrides for how the column is sorted.

defaultColumn

boolean (optional, default true)

Default columns can't be hidden via column visibility settings.

perspectives

string[] (optional)

Perspectives in which this column is visible.

preferenceMode

'now' | 'summary' (optional)

Pairs with another column of the same id to support metrics-preference switching.

dataLazyLoaded

boolean (optional)

Loads cell data only when the cell scrolls into view.

disableDownload

boolean (optional)

Excludes the column from downloads even if visible.

showLineWrap

boolean (optional, default false)

Adds a line-wrap toggle to the column header.

columnHeaderInfo

string (optional)

Tooltip text for a header info button.

conditions

Condition[] (optional)

See Conditional rendering.

BuiltInColumn

A reference to a pre-configured runtime column, usable in columns alongside custom DqlTableColumn entries. The available built-in columns are health columns — they surface health indicator data alongside your table rows without requiring manual column configuration:

{ "builtInColumn": "HEALTH_ALERTS_COLUMN" }
LiteralDescription

'HEALTH_ALERTS_COLUMN'

Health column that shows Davis health alert indicators for each row's entity.

'CUSTOM_ALERTS_COLUMN'

Health column that shows alerts not mapped to health alert indicators configuration.

An optional overrides object (displayName, perspectives, defaultColumn, widthType, widthValue) customizes the built-in column without fully replacing it.

CellRenderer

A discriminated union on type. Set cellRenderer: { "type": "<name>", ...params } on a column to activate a built-in renderer. Renderers with no configuration fields accept a plain { "type": "..." } object.

typeDescriptionExpected cell data

array

Renders an array of values.

any[]

problem

Renders a problem count badge.

number

vulnerability

Renders a vulnerability count badge.

number

alert

Renders an alert count badge.

number

healthIndicator

Renders Davis health alert indicator chips.

Health indicator payload

customAlert

Renders custom alert indicator chips.

Custom alert payload

healthValue

Overlays warning/critical health icons on top of another renderer.

Value accepted by the inner valueFormatter

slo

Renders an SLO breach count.

number

duration

Renders the formatted duration between two timestamps.

{ start?: string | number; end?: string | number }

mCore

Renders and formats CPU millicores.

number

byte

Converts bytes to human-readable units (KiB, MiB, …).

number

percent

Formats a 0–1 fraction as a percentage.

number (0–1)

percentBar

Renders a 0–1 fraction as a progress bar with label.

number (0–1)

meterBar

Renders a 0–1 fraction as a meter bar.

number (0–1)

countPerUnit

Renders a count with a rate unit suffix (for example, 10 /min).

number

unitRenderer / unit

Renders a number with a Strato unit (for example, 3 min, 12 GB).

number | string | (number | string)[]

datetime

Formats a timestamp as date and time.

number | string | Date

time

Formats a numeric duration with the appropriate time unit.

number

microChart

Renders a sparkline alongside a scalar value (v1).

{ timeseries: number[]; lastValue: number }

microChartV2

Renders a sparkline alongside a scalar value (v2).

{ timeseries: number[]; value: number }

owners

Renders a list of owner chips.

string[]

entity

Renders a clickable entity name; supports details, intent, or text modes.

Entity object (entityId/nodeId, displayName, …)

lastSeen / lastUpdated

Renders "Just now" for recent timestamps, exact time otherwise.

number (UTC milliseconds)

tag

Extracts and renders the value matching a tag key from a tag array.

string[] (for example, ["env:prod", "region:us-east"])

entity parameters

ParameterTypeDescription

mode

'details' | 'intent' | 'text' (optional)

How the entity name navigates on click.

inactiveThresholdMins

number (optional, default 15)

Minutes after lifetimeEnd before the entity is shown as inactive.

lineWrap

boolean (optional)

Stack entity name and extra info vertically.

entityDetailsPathName

string (optional)

Pathname for opening entity details in a new tab.

entityDetailsSearchParam

string (optional)

Search param key for the entity ID (for example, "entityId").

healthValue parameters

ParameterTypeDescription

valueFormatter

string | CellRenderer

Renderer applied to the value itself.

healthIndicatorsField

string

Row field containing health indicator data.

alertGroupName

string

Alert group to match against.

alertDisplayName

string (optional)

Display name for the alert.

duration parameters

ParameterTypeDescription

useSeconds

boolean (optional)

Round to seconds instead of milliseconds.

meterBar parameters

ParameterTypeDescription

label

string (optional)

Tooltip label shown on hover.

countPerUnit parameters

ParameterTypeDescription

unit

string (optional, default 'min')

Unit string appended as a rate suffix.

unitRenderer / unit parameters

ParameterTypeDescription

unit

string (optional)

Strato unit identifier (for example, 'Byte', 'MicroSecond').

abbreviate

boolean (optional)

Abbreviate the unit label.

maximumFractionDigits

string (optional)

Maximum decimal places.

minimumFractionDigits

string (optional)

Minimum decimal places.

suffix

string (optional)

Additional suffix appended after the unit.

microChart / microChartV2 parameters

ParameterTypeDescription

variant

'line' | 'area' (optional)

Sparkline style.

color

string (optional)

Hex color or Strato design token.

showMicroChart

boolean (optional, default true)

Show or hide the sparkline.

valueFormatter

string | CellRenderer (optional)

Formatter for the scalar value.

valueWidth

string (optional, default '95px')

CSS width of the value area.

min / max

number (optional)

Y-axis bounds.

time parameters

ParameterTypeDescription

unit

'ns' | 'us' | 'ms' | 's' | 'm' | 'h' | 'd' (optional, default 'ms')

Input time unit.

lastSeen / lastUpdated parameters

ParameterTypeDescription

thresholdMin

number (optional, default 5)

Minutes before switching from "Just now" to an exact timestamp.

tag parameters

ParameterTypeDescription

key

string

Tag key whose value to extract and display.

DqlTableGroupingConfig

PropertyTypeDescription

defaultFields

string[] (optional)

Fields grouped by default.

availableFields

string[] | Record<string, string[]> (optional)

Fields the user can group by, optionally organized into named groups.

aggregations

Record<string, AggregationFn> (optional)

Aggregation function per numeric field (sum, min, max, avg, median, percentiles, count, countDistinct, and more).

variant

'groups-only' | 'with-row-records' (optional, default 'with-row-records')

Whether grouped rows can be expanded to show underlying records.

rowsAreExpandable

boolean (optional, default false)

Enables expansion of grouping rows (requires expandable rows to be configured).

DqlTablePerspective

PropertyTypeDescription

name

string

Unique perspective name.

displayName

string (optional)

Label shown to the user.

description

string (optional)

Description text.

defaultSorting

SingleSorting | Sorting (optional)

Sort applied when the perspective is selected.

RowThreshold

Serializable row-highlighting rules. A threshold is a single rule or a combined set of rules sharing one display variant — 'pill' (with a color) or 'highlight' (with backgroundColor/color). Each rule compares a field value with a comparator, optionally through an accessor.

Action unions

Action arrays accept both BuiltInAction<T> references ({ "builtInAction": "..." }) and full IntentAction objects. See Elements overview.

Providing an action array in the document overrides the default rendering for that slot — the defaults are not merged in. If you want to keep the default actions, every default action must be listed explicitly alongside your custom ones.

TypeUsed inBuilt-in literals

DqlTableToolbarActions

toolbarItems

'COLUMN_VISIBILITY', 'RESET_ORDER', 'LINE_WRAP', 'EDIT_IN_NOTEBOOK', 'PIN_TO_DASHBOARD', 'OPEN_WITH', 'DOWNLOAD_PAGE', 'DOWNLOAD_SELECTED', 'DOWNLOAD_ALL'

DqlTableCellActions

cellActions

'FILTERING'

DqlTableRowActions

rowActions

none — intent actions only

DqlTableColumnActions

per-column actions

none — intent actions only

CardActions

actions

none — intent actions only

Example

{
"type": "dql-table",
"id": "hosts-table",
"title": "Hosts",
"dqlQuery": {
"idField": "id",
"query": "smartscapeNodes \"HOST\"",
"lookups": [
{
"query": "timeseries cpu = avg(dt.host.cpu.usage), by: { dt.entity.host }",
"sourceField": "id",
"lookupField": "dt.entity.host",
"fields": ["cpu"]
},
{
"builtInLookup": "ALERTS_LOOKUP",
"filterExpression": "in(smartscape.affected_entity_types, \"HOST\")",
"additionalFields": []
}
]
},
"alertGroups": [
{
"groupName": "High CPU",
"alerts": [
{
"displayName": "CPU saturation",
"matchConditions": { "event.name": ["High CPU usage"] }
}
]
}
],
"columns": [
{ "id": "name", "field": "name", "displayName": "Name", "type": "text" },
{
"id": "cpu",
"field": "cpu",
"displayName": "CPU usage",
"cellRenderer": { "type": "microChartV2", "variant": "area" }
},
{ "builtInColumn": "HEALTH_ALERTS_COLUMN" }
]
}

See also

  • Filtering
  • Health indicators
  • DQL variables
  • Elements overview
Related tags
ExtensionsExtensionsInfrastructure Observability