我昨天做了我的第一个立方体。我还是新手,所以请原谅任何术语的滥用。我的一个维度,我们称它MyDimension1
有一个层次结构,我们称它为MyHierarchy
,有两个级别,我们称它们为Level1
和Level2
。
我似乎能够做类似的事情:
SELECT
{ [Measures].[Whatever] } ON 0,
{ ([MyDimension1].[Level1].[Level1], [MyDimension1].[Level2].[Level2]) } ON 1
FROM MyCube
这给了我想要的结果。如果我理解正确,定义轴 1 的集合包含一个包含两个组件的元组(?)。我读过元组的每个组件(?)都应该来自不同的维度,但我似乎能够指定相同维度的组件,如上述查询所示。不过,我希望能够只按名称指定层次结构,然后让服务器为我创建元组。所以像:
SELECT
{ [Measures].[Whatever] } ON 0,
{ AllLevelsToTuple([MyDimension1].[MyHierarchy]) } ON 1
FROM MyCube
但我似乎无法弄清楚如何做到这一点。提前致谢!
编辑(我的例子,应回答者的要求):
这在功能上做了我想要的,但不是我想要的语法:
SELECT [Measures].[Original] ON 0,
([Customer].[Customer].[Customer], [Customer].[Account ID].[Account ID]) ON 1
结果(在 SSMS 中):
Original
--------- -- --------
CustomerA 15 306.03
CustomerA 16 754.20
...
CustomerB 17 524.43
...
CustomerC 22 760.42
...
当我扩展维度时,它看起来像:
- Customer
- Hierarchy
+ Members
+ Customer
+ Account ID
当我做类似的事情时(我想在语法上做类似的事情):
SELECT [Measures].[Original] ON 0,
([Customer].[Hierarchy].Members) ON 1
我得到以下结果:
Original
---------- --------
All 17638.15
CustomerA 2624.76
15
16
...
CustomerB 3113.67
17 524.43
...
CustomerC 3427.01
22 760.42
...
我希望有 3 列,而不是 2,基本上。