У меня есть запрос 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
, но я хотел бы предложить другие идеи, которые позволят мне получать как нужные мне данные, так и фильтровать по желаемому диапазону времени.