首页 > 解决方案 > 多个度量的 MDX 计算

问题描述

我必须在我的 OLAP 中为 20 个不同的度量创建下一个计算。如您所见,所描述的函数计算前一年的度量值。我必须重复代码 20 次,只更改特定度量 ( [Measures].[Sales]),我认为有一种方法可以动态更改特定度量。

create MEMBER CURRENTCUBE.[Measures].[Sales ant] as
(ParallelPeriod(
             [Dim Calendar].[Calendar].[Year]
            ,1
            ,[Dim Calendar].[Calendar].CurrentMember
            ), [Measures].[Sales]),
 VISIBLE = 1  ,ASSOCIATED_MEASURE_GROUP = 'Fact Sales';

MDX 中有没有办法知道[Measures]正在使用组中的哪个度量?在这种情况下,这是实现它的最佳方式。

标签: ssasmdxolapolap-cubedimension

解决方案


如果我没记错的话,你可以像这样创建一组隐藏的度量:

CREATE HIDDEN STATIC SET CURRENTCUBE.[My Set Of Measures] AS 
{
[Measures].[Measure 1],
[Measures].[Measure 2],
[Measures].[Measure 3]
};

然后您可以为此集合创建范围分配:

Scope ([My Set Of Measures]);
this = (ParallelPeriod(
             [Dim Calendar].[Calendar].[Year]
            ,1
            ,[Dim Calendar].[Calendar].CurrentMember
            ), Measures.CurrentMember)
End Scope;

请注意,不是具体的度量 - [Measures].[Sales],您将使用Measures.CurrentMember 引用度量,因此当您在报告中选择[Measures].[Sales] 时,上述范围将适用。

希望它会奏效。


推荐阅读