Отобразить свойство члена в запросе MDX - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть запрос 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, поэтому у меня есть некоторый код Javascript, который затем преобразует его в формат JSON, и когда мне нужно извлечь значение столбца [Time], я получаю обратно только номер дня (в данном случае 24). Вместо этого я хочу отобразить свойство измерения [Time].[Day], которое мы называем Date String и которое содержит дату в формате год-месяц-день. Но ни один из примеров, которые я могу найти, как это сделать, не будет работать с моим выбором на [Time] по диапазону.

Самым быстрым решением, по-видимому, является отображение свойства Date String, но я хотел бы предложить другие идеи, которые позволят мне получать как нужные мне данные, так и фильтровать по желаемому диапазону времени.

1 Ответ

0 голосов
/ 07 сентября 2011

Мне удалось решить проблему, используя код , найденный в Интернете . Я пробовал что-то подобное раньше, но это не сработало из-за того, что в конечном итоге возникла проблема со свойством в кубе, которое заставляло его всегда возвращать ноль, а не значение в таблице, из которой было создано измерение времени.

...