如何开始使用MDX

3

你好,我一直在尝试使用MDX,并需要一些非常高级的入门指导。我已经运行了一个SQL-Server 2008 R2数据库并有其中的数据。我想尝试在MDX中做一些非常简单的事情来熟悉流程。我不是DW或Cube专家,所以我需要从慢开始。(对于我来说,事实/维度是新的)

我有一个来自关系型数据库的视图,希望将其用作MDX的单一数据源。它很简单:

TABLE WEEKLY_GAIN
  PCTGAIN (DECIMAL) -- The pre-calc'd pctg gain in price from day x to day x+1  
  DATE (DATE)       -- The date the stock pctgain was generated  
  WEEK(INT)         -- Contiguous/Consecutive integer that is keyed to the last trading day of each week.  
  YEAR (INT)        -- The year of the current PCTGAIN from the DATE column

示例数据:

PCTGAIN          DATE           WEEK   YEAR  
0.01709791       2011-01-14     2      2011  
0.01102063       2011-01-07     1      2011  
0.0006922469     2010-12-31     52     2010  
0.01033836       2010-12-23     51     2010

我希望使用 MDX 生成一个立方体和一些函数(MEDIAN、MEAN、STDEV 等)。我已经成功地将上述视图识别为 MDX 中的源。然而,我需要帮助定义(MDX)维度、键、立方体定义等等。
我相信这应该很简单(日期、WEEK、YEAR 将是维度吗?),但我不确定。
我想要生成一个“Cube”:所有年份(1950-2011)都是行,所有周数(1-52)都是列,然后对所有年份的每个周数生成一些 MIN、MAX、MED、PCTGAIN 聚合值。我知道可以通过 T-SQL 实现此功能。然而,我希望通过 MDX 实现此功能,以便熟悉 MDX 的设置并提高工作效率。
如需更多详细信息,请告知。谢谢。
2个回答

4

这里有一些学习MDX的好资源,可以参考这个问题:如何学习MDX

在你的最终示例中,通常更容易使用行而不是列来处理期间,因此建议将表格UNPIVOT,使每周成为一行,并构建具有正确级别的日期维度。完成后,您将能够使用MDX函数相对轻松地计算MIN、MAX、MED、PCTGAIN等。


0
阅读这本书:
《Microsoft SQL Server 2008 MDX Step By Step》
是最好的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接