将维度属性转换为度量

时间:2015-03-29 23:01:41

标签: reporting-services ssas mdx

我必须将某个度量乘以维度属性的值。

我正在尝试从此属性进行常规测量,然后我可以乘以

我的代码是:

CREATE MEMBER CURRENTCUBE.[Measures].[Formulaa]
 AS 
(
   [DIM RESOURCE].[Formula].Member_Value 
),
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'x'  ;  

CREATE MEMBER CURRENTCUBE.[Measures].[Formulaaa]
 AS 
(
   [Measures].[Formulaa] * [Measures].[Line Quantity In]     
),
VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'x'  ;  

并且它一直有效,直到我的浏览器(或查询)[DIM RESOURCE].[Formula]属性

但是,当我删除它时 - 我进入[Measures].[Formulaa] All

所以我的问题是:我应该做些什么来避免浏览这个属性?

1 个答案:

答案 0 :(得分:0)

首先,您应该知道,在没有范围的情况下,层次结构默认为[ALL]成员。因此,为了使您的度量[Measures].[Formulaa]起作用,您应该在切片器或其中一个轴上拥有[DIM RESOURCE].[Formula]的成员。

其次,你能否尝试更换

[DIM RESOURCE].[Formula].Member_Value

[DIM RESOURCE].[Formula].CURRENTMEMBER.Member_ValueCURRENTMEMBER选择当前在范围内的[DIM RESOURCE].[Formula]层次结构中的成员。

编辑保持定义不变,但更改查询如下:

SELECT 
    { 
        [Measures].[Line Quantity In], 
        [Measures].[Quantity In], 
        [Measures].[Formulaa] 
    } ON COLUMNS, 

    { 
        [DIM RESOURCE].[Formula].CHILDREN
    } ON ROWS 

FROM [CMR]

设置范围有两种方法。您可以通过在滤镜轴/子选择上设置成员来切割多维数据集,也可以在任一轴上指定成员。但是,您不能在不同的轴上无关,同时期望测量值发生变化。这没有用。