我有以下数据结构
age range sex population_segment
1 0-4 1 100
2 0-4 1 100
3 0-4 1 100
4 0-4 1 100
5 5-9 1 150
6 5-9 1 150
我希望在第一个范围内获得运行总和,并且在集合中性别属性发生变化。 例如,对我来说,正确的答案是仅总结记录1和记录5(即250)。我的石斑鱼是范围和性别。
目前我的衡量标准只是对所有价值求和,给我错误的总和:750 我知道如何在标准SQL中执行此操作(此处发布以进行说明),但我需要MDX解决方案,计算成员。
示例sql:
WITH cte AS
(
select
*,
RowNum = row_number() over(partition by range, sex order by range, sex)
FROM myPopulationData
)
SELECT SUM(population_segment) FROM cte WHERE RowNum = 1
答案 0 :(得分:0)
这是一个可以通过多对多关系解决的案例:
设置好所有内容后,Analysis Services会自动处理所有计算逻辑。
除了范围 - 性别维度之外,如果您在年龄维度中保留范围和性别并且制作范围 - 性别维度(从第一个表格构建并从桥接表链接),则用户可用性问题看不见的,或者如果你把年龄保持在其他维度并且在另一个维度上。我个人更喜欢第一种选择,至少在范围内。