CrossJoinAttribute

The MDX CrossJoinAttribute function for Essbase returns the cross-product of two sets from different dimensions. This function is similar to CrossJoin, but skips calculation of non-existing intersections.

For aggregate storage databases, CrossJoinAttribute can improve on CrossJoin's performance for queries on data intersections, because it checks the validity of data intersections before calculating them. Only valid intersections are calculated, while invalid intersections are set to #MISSING.

Syntax

CrossJoinAttribute ( set1, set2 )

Parameters

set1

A set to cross with set2.

set2

A set to cross with set1. Must not include any dimension used in set1.

Notes

In the case of data-less queries, only rows with existing intersections are returned. Data-less queries have the following form:

SELECT {} ON COLUMNS,
CrossJoinAttribute ({set},{set}) ON ROWS
FROM <cube_specification>

Example

The following query based on ASOSamp.Basic

SELECT 
{} ON COLUMNS,
CrossJoinAttribute({[Great Buys].Children}, {[Square Footage].Children} ) ON ROWS
FROM ASOSamp.Basic;

returns the grid

Table 4-52 Output Grid from MDX Example

(axis)
(004118, 10000)
(011683, 5000)
(017589, 10000)