Data Adapters
Data Adapters are the bridge between data sources and dashboard components. Not every component needs a data adapter — Buttons, TextBoxes, and ComboBoxes using MemberFilters work without one. But components that display dynamic data (Labels with placeholders, CubeViews, BI Viewers, DynamicGrids) require a data adapter to supply their content.
Which Components Need Adapters?
| Component | Needs Adapter? | Notes |
|---|---|---|
| Button | No | Triggers actions, does not display data |
| TextBox | No | Captures user input via BoundParameter |
| ComboBox/ListBox (MemberFilter) | No | Options come from the MemberFilter dimension expression |
| ComboBox/ListBox (Data-bound) | Yes | Options come from an adapter DataTable |
| Label (plain text / parameters) | No | Static text and |!Param!| resolve without an adapter |
Label (with {1}, {2}) | Yes | Placeholders require an adapter DataTable |
| CubeView component | Yes | Must bind to a CubeView-type adapter |
| BI Viewer | Yes | Supports CubeView, CubeViewMD, SQL, Custom adapters |
| DynamicGrid | Yes | Typically uses a SQL adapter |
| GridView | Yes | Any adapter — displays read-only tabular data |
| PivotGrid | Yes | Any adapter — CubeViewMD is most common for pivot analysis |
Adapter Types
CubeView Adapter
Pulls data from a stored CubeView definition. The adapter references a CubeView by name, and the CubeView's POV (Point of View) can include
|!Param!| substitution to make the report dynamic.Key properties:
- CubeView Name — The stored CubeView to render
- POV Override — Optional POV string using
|!Param!|syntax (e.g.,E#|!EntityParam!|:S#|!ScenarioParam!|)
CubeViewMD Adapter
A multi-dimensional variant of the CubeView adapter designed for BI Viewer components. It flattens dimension hierarchies into a tabular format suitable for pivot tables, charts, and BI analysis. Each dimension level becomes a column in the resulting DataTable.
SQL Adapter
Executes a custom SQL query against the OneStream database. The query can include
|!Param!| substitution for standard parameters and ~!Param!~ for template parameters in dynamic dashboards.Custom Adapter
A Custom adapter delegates data retrieval to a Dashboard DataSet Business Rule. The adapter's CommandText property specifies the Business Rule name, and the rule's
GetDataSet function returns a DataTable.This is the most flexible adapter type — your Business Rule can query cubes, call APIs, combine multiple data sources, or compute derived values before returning the result.
Data Flow
Binding Adapters to Components
To connect an adapter to a component:
- Create the data adapter in the Maintenance Unit (under the Data Adapters node)
- Open the component's properties
- In the Adapters section, add the adapter by name
- Configure adapter-specific properties on the component (e.g., DataTableCellsFromAdapter for Labels)
A single component can bind to multiple adapters — each adapter supplies a separate DataTable. The component properties determine which adapter's data is used for which purpose (e.g., a Label can show values from Adapter 1 in
{1} while using Adapter 2 for conditional formatting logic).Related Content
- Organizing Your Business Rule Code — Dashboard DataSet example showing the
GetDataSetNames/GetDataSetpattern - Relational Tables — Table Views and custom substitution variable interaction with dashboard parameters
- Template Parameters and Dynamic Dashboards —
~!Param!~syntax in SQL adapters for repeater dashboards - Dashboard Business Rules — Custom adapter implementation via Dashboard DataSet BRs
- Cube View Fundamentals — Cube View design and configuration referenced by CubeView-type adapters