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, SQL Table Editors) 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, Method adapters |
| SQL Table Editor | 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 property:
- CubeView Name — The stored CubeView to render
The POV substitution itself lives in the referenced CubeView's own POV — use
|!Param!| inside that POV (e.g., E#|!EntityParam!|:S#|!ScenarioParam!|) to make the report dynamic. There is no separate "POV Override" property on the adapter.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.Method Adapter (Business Rule)
A Method adapter (CommandType = Method, MethodType = BusinessRule) delegates data retrieval to a Dashboard DataSet Business Rule. The adapter's MethodQuery property holds the full syntax
{BusinessRuleName}{DataSetName}{Name=Value,...} — naming the rule, the DataSet function, and any parameters — 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 — Method adapter implementation via Dashboard DataSet BRs
- Cube View Fundamentals — Cube View design and configuration referenced by CubeView-type adapters