使用维度属性作为度量

时间:2014-10-21 10:14:52

标签: ssas mdx olap olap-cube

在我的产品维度中,我有一个名为CustomerRating的属性,它是一个字符串。可能的值为“1”,“2”,“3”和“4”。

我想将此属性转换为平均产品系列评级的度量。

with member [Measures].[Product Rating] as
( [Product].[Project Name].CurrentMember.Properties("CustomerRating"))
select [Measures].[Product Rating] on columns
from [MyCube]

此查询产生错误 - 我怀疑是因为我正在处理字符串 如何将客户评级转换为平均而非总和的度量?

2 个答案:

答案 0 :(得分:0)

未经测试,但我想知道这是否有错误?

WITH 
   MEMBER [Measures].[Product Rating] AS
     CInt([Product].[Project Name].CurrentMember.Properties("CustomerRating"))
SELECT
   {[Measures].[Product Rating]} ON COLUMNS
From [MyCube]

答案 1 :(得分:0)

最好的方法是将int列添加到维度的源表中,可能只是作为DSV中的命名计算。然后,您将在维度表上添加度量值组,并定义对此列求和的度量rating_sum,以及此度量值组中的计数度量。 然后将计算的度量定义为rating_sum / count。

如果一切正常,请将两个度量rating_sum和count设为不可见。