MDX:与LastPeriods group by,Mondrian Schema分组:levelType小时

时间:2013-02-25 17:12:02

标签: mdx cube mondrian

我是MDX和Mondrian的新手,有两个与时间相关的问题:

1)。

MDX命令

SELECT NON EMPTY {[Country].[Country].Members} ON COLUMNS, [Time].[2012].[Q1 2012].[2].[2012-02-08]:[Time].[2012].[Q4 2012].[11].[2012-11-08] ON ROWS FROM [MyCube] WHERE {[Measures].[Sales]}

打印按天分组的结果:

2012-02-08 | 2873 | 9829 | ...
2012-02-09 | ...

但我想以天为单位定义日期范围并按月分组结果

2012-02 | 34298| ...
2012-03 | ...

2)。

Mondrian架构文档列出了时间级别类型 TimeYears TimeQuarters TimeMonths TimeDays 是否也可以定义小时数?

非常感谢。

1 个答案:

答案 0 :(得分:1)

1) MDX中的range function返回您正在使用的级别的成员。在你的情况下:

 [Time].[2012].[Q1 2012].[2].[2012-02-08]:[Time].[2012].[Q4 2012].[11].[2012-11-08] 

你正在使用天,所以这就是为什么你会得到所有的日子。在范围函数中使用月份而不是天数。如果您不想在8日之前获得数据,则选项将使用子选择进行过滤:

 SELECT
    NON EMPTY {[Country].[Country].Members} ON COLUMNS,
    [Time].[Your month level].members} ON ROWS
 FROM (
     SELECT 
        {[Measures].[Sales]} ON 0,
        [Time].[2012].[Q1 2012].[2].[2012-02-08]:[Time].[2012].[Q4 2012].[11].[2012-11-08] ON 1,
     FROM [MyCube] )

2)不知道对于蒙德里安,但无论如何,你可以根据“现有”表创建时间维度

相关问题