Skip to main content
By default, the DAX API exposes each view as a separate perspective in Power BI. Visualizations from different views can’t share the same filters, and a single report can’t combine measures and dimensions across views. Cross-view filtering removes this limitation, letting you build dashboards that span multiple views and apply filters consistently across visualizations. To use cross-view filters such as slicers, you must enable single-perspective mode in the DAX API. To enable single-perspective mode in the DAX API, set the CUBEJS_DAX_SINGLE_PERSPECTIVE environment variable to true. In single-perspective mode, all views are exposed as part of a single perspective. This allows you to use a single connection and show visualizations from different views on the same dashboard.
Single-perspective mode changes the way views are exposed by the DAX API. Because of that, it is not backwards-compatible with dashboards created before enabling this environment variable.

How it works

Cross-view filters work automatically, provided that the following two conditions are met:
  • The column used in the filter must be present in every view that the cross-filter has to be applied to, and named exactly the same in each view.
  • The column in all such views must resolve to the same cube member.
For example, if views orders_view and users_view both expose a column named address_country pointing to the country.country cube member, cross-filtering will be applied across these views. If the address_country column in orders_view points to orders.country while the address_country column in users_view points to users.country, cross-filtering will not be applied, because the columns resolve to different cube members. Likewise, if orders_view exposes an address_country column pointing to country.country and users_view exposes a country column also pointing to country.country, cross-filtering will not be applied, because the column names differ between the views.