How a OneStream Primary Dashboard Controls Navigation

What is a Primary Dashboard?

A OneStream primary dashboard acts as the parent container that controls how embedded dashboards, components, parameters, and actions work together. Understanding that relationship helps developers build navigation that is predictable, reusable, secure, and easier to maintain.

I’ve recently spent time with a client optimizing and cleaning up a dashboard implementation. As part of this I have noticed a recurring issue around Primary, or Main, Dashboards that could use clarification.

The term Dashboard is used interchangeably for a single dashboard or a Dashboard Group that contains many Dashboards, with most of them embedded in other Dashboards, to one degree or another. In fact, when you create a single Dashboard, OneStream creates an embedded Dashboard component based on the dashboard that you just created.

OneStream Embedded Dashboard

It is this embedded dashboard component that you add to other dashboards in the Dashboard Components tab of other Dashboards as you build out your Dashboard Group.

OneStream Frame Primary Dashboard

There is the concept of the Main Dashboard, or the Frame Dashboard that contains all the other embedded dashboards. It is this Main Dashboard that you tend to run, which then renders all the other embedded dashboards as one cohesive whole.

Technically that Main or Frame Dashboard is the Primary Dashboard. Embedded Dashboards are never the Primary Dashboard.

Importance of the Action Property in Primary Dashboards

Why is this important? The Action Property on the Dashboard Property Tab is why it’s important.

OneStream Action Property

Note that the property group is labelled “Action (Primary Dashboard Only)”. This property will run a business rule if it’s configured properly and if it is added to the Primary Dashboard. I have seen too many cases where this has been configured on a dashboard that is not a Primary Dashboard and as a result the called Dashboard Extender function will never run.

OneStream Dashboard Extender

Why would it be set up on a non-primary Dashboard? My assumption is that whoever did this just did not realize that it does nothing on a non-primary Dashboard.

Demonstrating the Primary Dashboard Functionality

To prove this out and for demonstration purposes I have created a Dashboard Group that is made up of 3 dashboards, 2 embedded in the first, which is the Primary Dashboard.

OneStream Dashboard Groups Frame

When the 00_Frame_PrimaryDashboard is run, it looks like the screen shot below.

OneStream Primary Dashboard View

I then configured the Primary Dashboard, 00_Frame_PrimaryDashboard, to run a Dashboard Extender.

OneStream Load Dashboard Server Task

The Dashboard Extender has a function added to the Load Dashboard Case section of the Dashboard Extender. This function writes the name value pair value to the Error Log when the Dashboard is loaded and if it is the primary dashboard.

OneStream Business Rules

Common Mistakes with Dashboard Extender Configuration

This is what you see in the Error Log, as expected, when the Primary Dashboard is loaded.

OneStream Primary Dashboard Error

To prove that this dashboard extender will not run if called from an embedded dashboard I set up the Action Server Task properties on one of the embedded Dashboards to run the same Dashboard Extender, but I passed in a different value in the name value pairs. Then I loaded the Primary, or Main, dashboard again.

OneStream Content Primary Dashboard

As expected, there was nothing written to the Error log on the load of this embedded dashboard.

To prove that the syntax of the Dashboard Function call is correct, if I run just the dashboard 02_Content_PrimaryDashboard and check the error log I will see the name value pair that I passed in from this dashboard in the error log.

OneStream Content Primary Dashboard Error Log

It works this time because the dashboard was not run from its embedded state, but as a Primary Dashboard.

I hope that this clears up when to and when not to add a Dashboard Extender Function call to the Load Dashboard Server Task property on a Dashboard.

Contact

MindStream Analytics

Want to learn more about OneStream Software? The consultants at MindStream Analytics are here to help you take your consolidations and reporting to the next level.

OneStream Primary Dashboard Design Workflow

Start a OneStream primary dashboard by defining the user journey and the decisions the page must support. Identify which embedded dashboards provide context, detail, input, or actions. Keep the primary layer focused on orchestration instead of duplicating every component.

Configure Dashboard Extender actions and parameter passing deliberately. Test initial load, selection changes, refresh behavior, and navigation between embedded views. A OneStream primary dashboard should preserve the correct point of view and avoid unnecessary refreshes that slow the experience.

Security must be tested with representative roles. Confirm that components, Cube Views, adapters, files, and actions respect the intended access model. Validate empty-data, invalid-parameter, and timeout states so users receive a useful message instead of a broken page.

Document dashboard ownership, dependencies, parameters, actions, and release tests. Review performance with realistic data volumes and simplify components that do not help a user complete a task. This governance keeps the OneStream primary dashboard reliable as workflows evolve.

OneStream Primary Dashboard Resources