WITH
SET [a] AS [Product].[Category].Levels(1).Members
SET [b] AS [Date].[Calendar].Levels(1).Members
SELECT
Order([a], [b].Item(0), BDESC ) ON ROWS
,[b] ON COLUMNS
FROM [Adventure Works];
The “Category” above is not an MDX keyword, but a part of the hierarchy under the “product” dimension.
What happens if you change the dimension to one in which the measure does not spread over?
WITH
SET [a] AS [Product].[Category].Levels(1).Members
SET [b] AS [Date].[Calendar].Levels(1).Members
SELECT
Order([a], [b].Item(0), BDESC ) ON ROWS
,[b] ON COLUMNS
FROM [Adventure Works];
Which gives:
|
CY 2001 |
CY 2002 |
CY 2003 |
CY 2004 |
CY 2006 |
Bikes |
$7,395,348.63 |
$19,956,014.67 |
$25,551,775.07 |
$13,399,243.18 |
(null) |
Components |
$615,474.98 |
$3,610,092.47 |
$5,482,497.29 |
$2,091,011.92 |
(null) |
Clothing |
$34,376.34 |
$485,587.15 |
$871,864.19 |
$386,013.16 |
(null) |
Accessories |
$20,235.36 |
$92,735.35 |
$296,532.88 |
$161,794.33 |
(null) |
Now what do we get if we only look at the top level of the row dimenion?
WITH
SET [a] AS [Product].[Category].Levels(0).Members
SET [b] AS [Date].[Calendar].Levels(1).Members
SELECT
Order([a], [b].Item(0), BDESC ) ON ROWS
,[b] ON COLUMNS
FROM [Adventure Works];
|
CY 2001 |
CY 2002 |
CY 2003 |
CY 2004 |
CY 2006 |
All Products |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Which is just the total “whatever measure this is” for the column dimension.
Now let’s throw in a dimension which doesn’t split the measure.
WITH
SET [a] AS [Department].Levels(1).Members
SET [b] AS [Date].[Calendar].Levels(1).Members
SELECT
Order([a], [b].Item(0), BDESC ) ON ROWS
,[b] ON COLUMNS
FROM [Adventure Works];
you get this:
|
CY 2001 |
CY 2002 |
CY 2003 |
CY 2004 |
CY 2006 |
Executive General and Administration |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Inventory Management |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Manufacturing |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Quality Assurance |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Research and Development |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Sales and Marketing |
$8,065,435.31 |
$24,144,429.65 |
$32,202,669.43 |
$16,038,062.60 |
(null) |
Which looks like a cartesian join enacted on a crosstab. So each example of the row dimention gets an instance of the column dimensions (which the measure is applicable to)
How do I find out how my measures and dimensions are related?
…for that you need BIDS.