如何在SSDT中使用MeasureExpression?
How to use MeasureExpression In SSDT?
事实上我有这样的事情table :
一个名为 dimType 的维度可以具有这些值 "FIND , LOSE , 礼物"
和一个名为 Count 的度量,它有一个正数
我想通过 SUM AggregateFunction 在 SSDT 中进行此度量,但稍作更改,在聚合之前我想否定此 Count 如果它是类型 LOSE
例如:
类型:查找 /计数:12
类型:LOSE / 计数:5
类型:GIFT / 数量:4
然后:总和(计数)= 12-5+4 = 11
我应该在 Measure Properties 中使用 MeasureExpression 吗?我该怎么做?
实际上,最简单的方法是 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]
)
)
事实上我有这样的事情table :
一个名为 dimType 的维度可以具有这些值 "FIND , LOSE , 礼物" 和一个名为 Count 的度量,它有一个正数
我想通过 SUM AggregateFunction 在 SSDT 中进行此度量,但稍作更改,在聚合之前我想否定此 Count 如果它是类型 LOSE 例如:
类型:查找 /计数:12
类型:LOSE / 计数:5
类型:GIFT / 数量:4
然后:总和(计数)= 12-5+4 = 11
我应该在 Measure Properties 中使用 MeasureExpression 吗?我该怎么做?
实际上,最简单的方法是 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]
)
)