Working with Cubes in Spotfire®

Cube Queries

When working with in-database cube data, Spotfire creates MDX (MultiDimensional eXpression) queries that are sent to the cube query engine to get results back.

In an MDX query, all hierarchies in the cube matter, even if they are not specified in the query. If a hierarchy is not specified in a query, then the default member of that hierarchy is used. You can view this as an implicit slicing of the cube on the default member. The default member is usually a member that denotes "all possible items", but this is not always the case.

For example, if you have a cube that contains one measure ('Sales') and two hierarchies ('Time' and 'Countries') and you use Sales on one axis and Time on another axis in a visualization. The result you will get back is Sales over Time for all countries. If you are using a currency dimension or hierarchy, it is not uncommon that the default member is a specific currency and not "all currencies". That means that you will get the value (e.g., Sales) for the currency that is the default currency. If this is not what you want, then you should ask your cube administrator to change the default member in the cube (only possible in Microsoft SQL Server Analysis Services), or, provide a Spotfire filter for the currency hierarchy, where you can select which currency to display.

If you do not see any data in your visualizations, it could be that no data has been aggregated for the combination of default member or members and the specified hierarchies in the cube. A potential remedy to this situation is to explicitly slice or dice the cube by applying the appropriate Spotfire filter for the hierarchy or hierarchies where default members are used.

Theoretically, you could split a query enough to return the actual values from the underlying data warehouse, but the cube would still consider the query as aggregated.