首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据集合中唯一的第一个属性更改获得使用MDX的运行和

根据集合中唯一的第一个属性更改获得使用MDX的运行和
EN

Stack Overflow用户
提问于 2013-12-19 00:54:11
回答 1查看 240关注 0票数 1

我有以下数据结构

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-19 13:10:06

这种情况可以通过多到多的关系来解决:

  • 构建一个包含范围和性别以及population_segment的唯一组合的表/视图,以及一个主键列。这将用作包含population_segment度量的度量值组的事实表。它也将被用作范围-性别组合的维度表。
  • 生成包含年龄的表/视图,该表/视图用作年龄维度表。
  • 构建一个桥表/视图,其中包含年龄维度表的外键,以及第一个表的外键。这将获得另一个度量值组的基础,它只包含作为度量值的计数,您可能希望使其不可见。
  • 在“维度使用”选项卡上,使用桥梁度量组将主度量组与年龄维度之间的关系设置为多到多关系。

一旦设置了所有内容,所有的计算逻辑都会由Analysis自动处理。

这是一个用户的可用性问题,如果你离开年龄维度的范围和性别,除了范围性别维度,并使范围性别维度(从第一个表构建并从桥接表链接)不可见,或者如果你保持年龄在和范围在另一个维度。我个人更喜欢第一选择,至少在范围内如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20671589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档