在mdx查询中显示成员的属性

时间:2011-09-01 19:24:10

标签: mdx pentaho mondrian xaction

我有一个Mondrian / 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属性,但我愿意接受其他想法,让我获得我想要的数据并过滤我想要的时间范围。< / p>

1 个答案:

答案 0 :(得分:0)

我能够根据code found online解决问题。我曾经尝试过类似的东西,但由于多维数据集中属性的最终问题导致它始终返回null而不是表中创建时间维度的值,因此无效。