如何在SSDT中使用MeasureExpression?

时间:2017-06-10 06:57:00

标签: ssas mdx sql-server-data-tools

我的事实表中有这样的事情:

名为 dimType 的维度,可以包含以下值查找 LOSE GIFT “ 以及名为计数且具有正数

的度量

我想在SSDT中通过 SUM AggregateFunction进行此测量,但稍微改变一下,在灌输之前我想要这个计数,如果它的类型是 LOSE 例如:

键入:查找 /计数: 12
键入:丢失 /计数: 5
键入: GIFT /计数: 4

然后:SUM(计数)= 12-5 + 4 = 11

我应该在测量属性中使用 MeasureExpression 吗?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

实际上,最简单的方法是SQL:

iif(type = 'LOSE',-count,count)

如果由于某种原因需要正面和负面聚合,您可以使用MDX计算。

简单的一个:

[Measures].[Count] - ([dimType].[Type].[LOSE],[Measures].[Count]) * 2

环球影片:

Sum(
    Existing [dimType].[Type].[Type].Members,
    Iif(
        [dimType].[Type].CurrentMember is [dimType].[Type].[LOSE],
        -[Measures].[Count],
        [Measures].[Count]
    )
)