Dashboard builder

Query Console: SQL testen op live dashboardcontext

Query Console draait SQL direct op de in-browser Dashview SQL Engine cache met dezelfde datasource-tabellen, actieve filters en view-context als je dashboard. Gebruik dit om views te valideren, joins te testen en output te debuggen voordat je widgets koppelt.

1. Toegang en openen

Editor tray met Query Console knop
Query Console knop in de editor tray naast instellingen, filters en views.

Gebruiksscope

  • Primair bedoeld voor builders/analisten tijdens dashboardontwikkeling.
  • Niet bedoeld als eindgebruikers-feature in runtime-only dashboards.
  • Resultaten zijn tijdelijk in browsercontext; er wordt niets teruggeschreven naar bronconfiguratie.

2. Query run workflow (wat er technisch gebeurt)

  1. Voer SQL in en run met Run query of Ctrl/Cmd + Enter.
  2. Lege query wordt geweigerd met foutmelding.
  3. Dashview laadt eerst de huidige datasource-catalogus in geheugen.
  4. Alle herkende global_* tabellen worden genormaliseerd en voorbereid.
  5. Als je placeholders gebruikt (@filter.*/@filters.*), worden actieve filters ingeladen.
  6. SQL wordt uitgevoerd in de Dashview SQL Engine; Datasources die realtime zijn zoals Elements halen direct data op

Filter context bij placeholders

  • Console leest filters via de actieve dashboardset(s).
  • viewOnly filters worden ook meegenomen.
  • Alleen placeholders die je echt in SQL gebruikt, worden als runtime params doorgestuurd.

Waarom geen harde full refresh?

  • Console forceert geen dashboardbrede refresh om onnodige widget reloads te voorkomen.
  • Alleen tabellen die je query nodig heeft worden voorbereid en geladen.
  • Dat houdt iteraties in de builder sneller en voorspelbaarder.

3. SQL model in Query Console

Tabelnamen

  • Gebruik datasource-tabellen met prefix global_.
  • Niet-alfanumerieke tekens worden gesanitized naar _.
  • Voorbeeld: sales-orders wordt global_sales_orders.

Filter placeholders

  • Beide vormen werken: @filter.key en @filters.key.
  • Gebruik placeholders zonder extra quotes.
  • Arrays werken direct met IN (@filters.status).
SELECT
  o.invoice_date::DATE AS datum,
  o.country,
  o.status,
  SUM(o.total) AS omzet
FROM global_orders o
WHERE o.country = @filters.country
  AND o.status IN (@filters.status)
  AND o.invoice_date >= @filters.invoiceDateFrom
  AND o.invoice_date < @filters.invoiceDateTo
GROUP BY 1, 2, 3
ORDER BY datum DESC
LIMIT 200
Voor structurele transformaties: bouw SQL eerst in Views, en gebruik Query Console om te valideren/testen.

4. Resultaten, controls en shortcuts

Onderdeel Gedrag
Run queryVoert SQL uit; button toont loading-state tijdens run.
Ctrl/Cmd + EnterSnelle toetsenbord-run vanuit SQL editor.
Clear resultsLeegt rijen, kolommen en foutmelding van vorige run.
Result gridKolommen worden bepaald op basis van de eerste result-rij.
SorterenKolomheaders zijn sorteerbaar via de tabelheader.
Geen dataMelding: Query executed. No rows returned.

5. Veelvoorkomende fouten en oplossingen

Fouten

  • Enter a SQL query to run. Queryveld is leeg.
  • Table not found Gebruik of corrigeer global_* tabelnaam.
  • Placeholder errors Filterkey bestaat niet of heeft lege waarde.
  • No files found that match the pattern Remote parquet pad is niet actueel.

Praktische fix-volgorde

  1. Controleer tabelnaam en prefix global_.
  2. Test query zonder placeholders en voeg ze daarna één voor één toe.
  3. Controleer in filterbar of de betreffende filter daadwerkelijk waarde heeft.
  4. Run opnieuw zodat remote parquet views desnoods automatisch worden ververst.