2017-04-06 73 views
0

我正在寻找使用MDX在MS Excel(用于OLAP数据透视表)中创建一个命名集,它将在特定度量的时间维度内总结四分之一的宿主子集。Excel OLAP集管理器MDX规范

我试过以下,都没有成功。第一个工作,但只是返回所有宿舍的总数,而不是我想要的(前三个季度),并且不包含SUM。

{((SUBSET([Period].[Qtr].Members,0,2), [Measures].[Sales]))} 

{SUM({SUBSET([Period].[Qtr].Members,0,2)}, [Measures].[Sales])} 

为什么第二个不起作用?我也尝试了其他规格,如HEAD,Lead(#)和。 & [#],都无济于事。一个例子是

Sum({[Period].[Qtr].Lead(0):[Period].[Qtr].Lead(2)}, [Measures].[Sales]) 

回答

0

当然,你最后的例子是完美的MDX。如果你从中创建了一个计算度量值,我可以看到没有理由不起作用。

下面是使用冒险Works多维数据集,基于上面的工作的工作例如:

WITH MEMBER [Measures].[SomeMeasure] AS 
Sum({[Date].[Calendar Quarter].Lead(0):[Date].[Calendar Quarter].Lead(2)}, [Measures].[Internet Sales Amount]) 
SELECT 
[Measures].[SomeMeasure] ON COLUMNS 
FROM 
[Adventure Works] 

编辑

要创建多维数据集内的计算度量,它应该是这样的:

CREATE MEMBER [Measures].[SomeMeasure] AS 
Sum({[Date].[Calendar Quarter].Lead(0):[Date].[Calendar Quarter].Lead(2)}, [Measures].[Internet Sales Amount]) 

在Excel中使用多维数据集时,此度量值将与其他度量值一起使用。 注意:因为您正在执行总和,所以这是一个计算量度。命名集是一组元组,例如一组日期成员,我不认为这是你想要的。

+0

非常感谢。对于你的例子,如果我使用MDX从Excel创建一个命名集,我是否需要包含WITH MEMBER,SELECT,FROM等?当我创建一个命名集合并查看生成的默认MDX时,它不包含任何这个?谢谢! – Doug

+0

您可以在多维数据集内创建一个计算度量。查看我的编辑另一个例子。 –

+0

@Doug上述答案不是'named set'它是一个计算成员 - 你可以在Excel中创建它们。在excel中的一个命名集只需要这样的代码'{[Date]。[Calendar Quarter] .Lead(0):[Date]。[Calendar Quarter] .Lead(2)}' – whytheq