首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据仓库- MDX查询来计算前5所大学

数据仓库- MDX查询来计算前5所大学
EN

Stack Overflow用户
提问于 2014-04-20 16:52:36
回答 2查看 159关注 0票数 0

我试图创建一个明星模式来分析大学的排名。

我创建了星型模式,如下所示;

事实表;

排名

  • University_id
  • Time_id
  • Classification_id
  • 排名(衡量)

维度和等级;

University_id

  • 状态
  • 城市
  • university_name

time_id

  • 四分之一
  • 月份

classification_id

  • 类别(可以是工程学或社会科学等)
  • 类型(可以是计算机工程、土木工程等)
  • type_info (关于类型的信息)

我想写一个MDX查询,列出2011年加州计算机工程排名前五的大学。结果应该包括大学名称和它的评分。

这是我的MDX查询;

代码语言:javascript
复制
SELECT Measures.ranking ON COLUMNS
HEAD (ORDER ({[University_id].[California].[Members].[Children],
Measures.[ranking], BDESC, 5}) ON ROWS
WHERE (Measures.[ranking], [Time_id].[Year].[2011], [classification_id].[engineering].  [computer Engineering])

我设计的星型模式和相关的mdx查询是否正确和高效?否则,我如何改进我的解决方案或使其正确?我还创建了星型模式,因此我们可以修改它以改进设计。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-23 12:03:59

总的想法很好。然而,也有一些评论:

  • 我将维度称为“大学”、“时间”等,而不是"University_id“等。id是一个内部密钥,在许多情况下不公开给用户,用户认为是”大学“,而不是"id”。
  • 如果在列上使用度量值,则不能在切片轴(也称为WHERE子句)中使用它们。
  • 我不知道你的排名标准是什么样子。但是,如果它确实是一个等级,在较低的数字更好的意义上,你应该命令上升而不是下降,或者使用BottomCount
票数 0
EN

Stack Overflow用户

发布于 2014-04-20 23:06:54

我将使用TopCount函数,而不是组合head/order。

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

https://stackoverflow.com/questions/23185078

复制
相关文章

相似问题

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