2011-02-15 111 views
3

嗨我一直在玩MDX,需要一些非常高级的入门类型指导。我已经安装了一个SQL-Server 2008 R2数据库并运行其中的数据。我想在MDX中尝试一些非常简单的操作来熟悉流程。我不是DW或Cube专家,所以我需要慢慢开始。 (事实/尺寸对我来说是新的)如何开始使用MDX

我有一个关系数据库的视图,我想用它作为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生成一个立方体和某些功能(中值,平均值,STDEV,等等)。我已成功将上述视图标识为MDX中的源代码。不过,我需要帮助定义(MDX)维,键,多维数据集定义以及其他需要完成的操作等。

我相信这应该是直接的(日期,周,年是尺寸?)但我不确定。

我想生成的一个“Cube”是......所有这些年份(1950-2011)都是行,所有的周(1-52)都是列,然后生成一些MIN,MAX,MED,在所有年份中,每周的PCTGAIN总数。我承认有办法用T-SQL来做到这一点。但是,我希望在MDX中做到这一点,以便让MDX的设置变得更加高效,并使其更具生产力。

我很高兴根据需要提供更多详细信息。由于

回答

4

有在这个问题在这里学习MDX一些很好的资源:How to learn MDX

有了您的最后一个例子是通常更容易与行的工作,而不是你的月经列,所以我会建议UNPIVOTing你的表,每周都是一行,然后用适当的级别构建日期维度。一旦完成,您将能够相对容易地使用MDX函数来计算MIN,MAX,MED,PCTGAIN等。

0

阅读这本书:

的Microsoft SQL Server 2008 MDX一步一步

是最好的。