我需要在 SQL Server Data Tools 中创建一个计算。
想象一下,在我的 OLAP 结构中,我有一个城市和一个卖家维度,以及一个事实。在城市维度中,我有一个城市、一个州和一个人口,这是一个维度中的度量。
我需要总结有销售的城市的人口。但我不能只总结有销售额的城市,我只能显示该州的总人口。一个卖家可以在许多城市销售。例子:
我将按卖家 John 过滤,查询返回:
STATE | CITY | POPULATION
-------------------------------------------------
CA | Los Angeles | 10.000.000
CA | San Francisco | 1.000.000
CA | Sacramento | 1.000.000
CA | San Diego | 1.000.000
CA | Bakersfield | 500.000
-------------------------------------------------
Total 37.000.000
总和应该返回 13.500.000,但对我来说,总和返回 37.000.000,这是 CA 的人口。
我需要使用此上下文创建一个计算成员,并可以提供此示例:
Sum
(
(
[Measures].[População]
,Filter
(
[RepresentantesRadiografia].[Representante].CurrentMember.Children
*
[CidadesRadiografia].[Cidade].CURRENTEMEMBER.Children
,
[Measures].[Valor Total] > 0
)
)
)
简而言之,我只需要返回这个卖家有销售的城市的人口总和,但目前正在返回人口的总和,例如,如果我选择显示国家和城市,则返回国家人口总数,如果我选择显示州和城市,则返回该州的人口总数
我问了那个问题,但没有得到有效的答案