26 May 2026
08:14 AM
- last edited on
27 May 2026
07:17 AM
by
MaciejNeumann
Hi Community,
I'm working with Gen3 Dashboards and I'm facing a challenge with Query-type variables where I need to:
Context
I have a variable SVC_2 with this query that returns both value (SERVICE-ID) and label (service name):
fetch dt.entity.service
| fields value = toString(id), label = entity.name
| dedup value, label
| append [data record(value = "ALL", label = "ALL")]
| sort label asc
The query returns the correct structure:
{
"value": "SERVICE-E43178F49BBABF09",
"label": "ATRIA-BPM-Procesar"
}
The Problem
No matter what I try, the variable always interpolates the display name instead of the ID into tile queries.
Attempt 1 - Direct interpolation with quotes:
| fieldsAdd selected_service = "$SVC_2"
Generates:
| fieldsAdd selected_service = ""SERVICE-BPM-Procesar""
Double quotes break the DQL parser.
Attempt 2 - Without quotes using :noquote:
| filter service_id == $SVC_2:noquote
Generates:
| filter service_id == SERVICE-BPM-Procesar
Spaces and hyphens in the name break the DQL parser.
Attempt 3 - Using data record + parse to extract ID from concatenated value:
Variable returns:SERVICE-BPM-Procesar [SERVICE-E43178F49BBABF09]
data record(raw = $SVC_2)
| parse raw, "LD '[' LD:extracted ']'"
Parse works correctly and extracts SERVICE-E43178F49BBABF09
But when used inside a tile with join:
timeseries now = avg(dt.service.request.failure_rate, default:0),
by: { dt.entity.service }
| fieldsAdd service_id = toString(dt.entity.service)
| join [
data record(raw = $SVC_2)
| parse raw, "LD '[' LD:extracted ']'"
| fields extracted
],
kind: inner,
on: { left[service_id] == right[extracted] },
fields: { extracted }
Returns 0 records even though the service has data.
What DOES work - but only with pure SERVICE-ID:
| fieldsAdd selected_service = $SVC_2
| filter selected_service == "ALL" or service_id == selected_service
Works perfectly when the variable returns only SERVICE-E43178F49BBABF09 But then users can't identify services by name in the dropdown.
The Question
Is there any supported way in Gen3 Dashboards to:
1. Show a human-readable label in the variable dropdown
2. Have the variable pass the entity ID to tile queries
Specifically:
Any help would be appreciated!
Victor
Featured Posts