繁体   English   中英

数据仓库-MDX查询以计算排名前5的大学

[英]Data Warehouse - MDX query to calculate top 5 universities

我正在尝试创建一个星型模式来分析大学排名。

我在下面创建了星型模式;

事实表;

排行

  • University_id
  • Time_id
  • 分类ID
  • 排名(量度)

维度和层次结构;

University_id

  • university_name

time_id

  • 25美分硬币

分类ID

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

我想编写一个MDX查询,该查询列出了2011年计算机工程方面加利福尼亚州排名前5的大学。结果应包括大学名称及其等级。

这是我的MDX查询;

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])

我的Star模式和相关的mdx查询设计正确且有效吗? 否则,如何改善解决方案或使其正确? 我还创建了星型模式,因此我们可以对其进行更改以改进设计。

而不是组合标题/顺序,我将使用TopCount函数。

总体思路很好。 但是,有一些注意事项:

  • 我将维度称为“大学”,“时间”等,而不是“ University_id”等。id是内部密钥,在许多情况下,这些密钥不向用户公开,并且用户以“大学”而不是用户的角度考虑“ id”的术语。
  • 如果要在列上使用度量,则不能在切片器轴上使用它们(aka WHERE子句)。
  • 我不确定您的排名量度如何。 但是,如果确实是一个排名较低的数字更好的排名,则应将升序而不是降序排列,或者使用BottomCount

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM