实用MDX查询:维度操作与导航
1. 交叉连接(Crossjoin)的使用
在MDX查询中,交叉连接是一种强大的工具,它可以让我们组合不同维度的成员。下面详细介绍几种交叉连接的应用场景。
1.1 双轴交叉连接
当查询中有两个轴时,我们可以在每个轴上分别进行交叉连接。例如:
-- crossjoin on 2 axes
select
crossjoin([Product].[Product Categories].[Category],
{[Measures].[Internet Sales Amount],[Measures].[Reseller Sales Amount]})
on columns,
crossjoin([Date].[Calendar].[Calendar Year],
[Date].[Month of Year].[Month of Year])
on rows
from
[Adventure Works]
在这个查询中,列轴上是产品类别和销售金额的交叉连接,行轴上是日期的年份和月份的交叉连接。需要注意的是,两个销售金额用花括号括起来是很重要的。
1.2 两个非度量维度的交叉连接
除了对同一维度的不同层次结构进行交叉连接,或者使用度量维度进行交叉连接外,我们还可以对两个不同的非度量维度进行交叉连接。示例如下:
--
select