2015-06-18 2 views
0

У меня есть куб ROLAP - Pivot4j 0.9, Olap4j 1.1.0, MySQL.Pivot4j/Olap4j добавление условия для where where сгенерированного запроса

Когда я запускаю следующий MDX, я вижу дополнительное условие в предложении where, которое заставляет результирующий оператор не возвращать строки.

SELECT Hierarchize({[Measures].[Unique Users]}) ON COLUMNS, NON EMPTY Hierarchize([dimBrowserType].AllMembers) ON ROWS FROM [Sessions] 

Результирующий SQL ...

17:28:08,536 DEBUG RolapUtil:319 - Segment.load: done executing sql [ 
select `meta_date`.`date_day` as `c0`, count(distinct `sessions_551d03b3e4b0dc830608a95b`.`userId`) as `m0` 
from `meta_date` as `meta_date`, `sessions_551d03b3e4b0dc830608a95b` as `sessions_551d03b3e4b0dc830608a95b` 
where `sessions_551d03b3e4b0dc830608a95b`.`daykey` = `meta_date`.`daykey` 
and `meta_date`.`date_day` = '2015-01-01' 
group by `meta_date`.`date_day` 
], exec+fetch 44 ms, 0 rows, ex=7, close=7, open=[] 

Olap4j добавил эту статью ...

and `meta_date`.`date_day` = '2015-01-01' 

... который не относится ни к чему в intial MDX. Для данного значения date_day нет данных, поэтому запрос не возвращает данные.

Что может быть причиной этого?

ответ

1

Возможно, у вас нет «всех членов» в иерархии дат. Спецификации MDX говорят, что в этом случае используется первый элемент.

Попробуйте добавить hasAll=true в свою иерархию.

+0

У меня есть несколько измерений времени в кубе. Один из них был установлен как hasAll = "false" – JohnnyD

Смежные вопросы