2011-09-01 79 views
0

我有一个Mondrian/MDX查询,我在日期范围内抓取数据,但是我想返回时间作为其结果中属性的值。我当前的查询是这样的:在mdx查询中显示成员的属性

With 
set [*TIME_RANGE] as '{[Time].[2011].[3].[9].[1].[1].Lag(30):[Time].[2011].[3].[9].[1].[1]}' 
set [*PXMD] as '[meta_pixel_id1.Pixel].[label].Members' 
set [*BASE_MEMBERS] as 'NonEmptyCrossJoin([*TIME_RANGE],[*PXMD])' 
Select 
{[Measures].[total_users],[Measures].[total_action_pixels]} on columns, 
[*BASE_MEMBERS] on rows 
From [ActionPixels] 
Where [Pixel ID].[500] 

它返回像一个结果:

Axis #0: 
{[Pixel ID].[500]} 
Axis #1: 
{[Measures].[total_users]} 
{[Measures].[total_action_pixels]} 
Axis #2: 
{[Time].[2011].[3].[8].[4].[24], [meta_pixel_id1.Pixel].[500].[Action].[Type].[Handraiser]} 
{[Time].[2011].[3].[8].[4].[24], [meta_pixel_id1.Pixel].[500].[Action].[Type].[Lead]} 
{[Time].[2011].[3].[8].[4].[24], [meta_pixel_id1.Pixel].[500].[Action].[Type].[Shopper]} 
Row #0: 3 
Row #0: 3 
Row #1: 4 
Row #1: 4 
Row #2: 2 
Row #2: 2 

这是我的期望。问题是,我正在编写这个查询用于Pentaho xaction,所以我有一些后来的JavaScript代码将它转换成JSON格式,当我得到提取[Time]列的值时,我只返回日期编号(在这种情况下,24)。我想要显示的是[Time].[Day]维度的属性,我们称其为Date String,其中包含格式为年 - 月 - 日的日期。但是没有一个例子能找到如何做到这一点,我的选择范围是[Time]

最直接的解决方案似乎是显示Date String属性,但我会乐于接受其他想法,这将允许我得到我想要的两个数据,并在我想要的时间范围上进行过滤。

回答

0

我能够根据code found online解决问题。我之前曾尝试过类似的方法,但它并不起作用,因为多维数据集中的属性最终导致它始终返回null,而不是创建时间维的表中的值。