Principle:Apache Druid Dimension Measure Configuration
| Knowledge Sources | |
|---|---|
| Domains | Visual_Exploration, Data_Modeling |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
A visual query configuration pattern that maps columns to dimensions (split-by) and measures (aggregations) for visualization modules.
Description
Dimension and Measure Configuration provides the parameter input mechanism for visualization modules. Each module defines typed parameters that users configure through two UI panels:
- ControlPane: Renders parameter-specific input controls (column pickers, time bucket selectors, measure selectors, boolean toggles). Each parameter type (column, columns, measure, measures, option, boolean, string, number) has a dedicated editor widget.
- ResourcePane: Shows all available columns and measures from the QuerySource, organized by type. Users can drag columns into dimension or measure parameter slots, or use context menus to apply quick actions (filter, show, split, aggregate).
The configured parameters drive SQL query generation — dimensions become GROUP BY columns, measures become aggregate expressions in the SELECT clause.
Usage
Use this pattern after datasource introspection and module selection. The control and resource panes are the primary interaction mechanism for building visualizations without writing SQL.
Theoretical Basis
Dimension/measure configuration follows a parameter binding pattern:
ModuleDefinition.parameters = {
splitColumn: { type: 'column', ... },
measures: { type: 'measures', ... },
timeBucket: { type: 'option', options: ['PT1M', 'PT5M', 'PT1H', 'P1D'] },
showColumn: { type: 'columns', ... },
}
User selections:
splitColumn = 'country' → GROUP BY "country"
measures = [SUM(value)] → SELECT SUM("value") AS sum_value
timeBucket = 'PT1H' → TIME_FLOOR(__time, 'PT1H')