我有一个ROLAP多维数据集 - Pivot4j 0.9,Olap4j 1.1.0,MySQL。
当我运行以下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'
...与初始MDX中的任何内容无关。 date_day的这个特定值没有数据,因此查询不返回任何数据。
可能导致这种情况的原因是什么?
答案 0 :(得分:1)
您可能在日期层次结构中没有“所有成员”。 MDX规范说在这种情况下,使用第一个成员。
尝试将hasAll=true
添加到您的层次结构中。