Мондриан: Кажется, не получается использовать таблицы агрегации

Я изо всех сил пытаюсь заставить таблицы агрегации работать. Вот как выглядит моя таблица фактов:

employment_date_id
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3

Я разрушаю employment_date_id из года, квартала и месяца, чтобы включить только год, но каждый другой столбец включен. Вот как выглядит моя таблица агрегации:

yearquartermonth_year
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3
fact_count

Я только рушаю часть года. Остальные поля остаются как есть. Вот моя конфигурация:

<AggFactCount column="FACT_COUNT"/>
<AggForeignKey factColumn="dimension1_id" aggColumn="dimension1_id"/>
<AggForeignKey factColumn="dimension2_id" aggColumn="dimension2_id"/>
<AggForeignKey factColumn="dimension3_id" aggColumn="dimension3_id"/>

<AggMeasure name="[Measures].[measure1]" column="measure1"/>
<AggMeasure name="[Measures].[measure2]" column="measure2"/>
<AggMeasure name="[Measures].[measure3]" column="measure3"/>

<AggLevel name="[dimension4].[dimension4]" column="dimension4"/>
<AggLevel name="[dimension5].[dimension5]" column="dimension5"/>
<AggLevel name="[EmploymentDate.yearQuarterMonth].[Year]" column="yearquartermonth_year"/>

Я в основном копирую второй пример таблиц агрегации из documentation. Большинство моих столбцов не сворачиваются в таблицу и являются внешними ключами к таблицам измерений.

Мой запрос, который я пытаюсь выполнить, это что-то вроде:

select {[Measures].[measure1]} on COLUMNS, {[EmploymentDate.yearQuarterMonth].[Year]} on ROWS from Cube1

Проблема в том, что когда я отлаживаю его и включаю в журнал, я вижу бит-ключи, которые выглядят так:

AggStar:agg_year_employment
 bk=0x00000000000000000000000000000000000000000000000111111111101111100000000000000000000000000000000000000000000000000000000000000000
 fbk=0x00000000000000000000000000000000000000000000000000000001101111100000000000000000000000000000000000000000000000000000000000000000
 mbk=0x00000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000

И мой шаблон бит запроса:

Foreign columns bit key=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Measure bit key=        0x00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000

И поэтому моя таблица агрегации пропущена. Однако это точные столбцы, которые складываются в таблицу. Но позиции бит не совпадают между запросом и таблицей агрегации. Другая вещь, которую я нахожу странной, состоит в том, что часть столбцов сворачивается в таблицу, но все AggForeignKeys не включены в биты, поэтому, если я сделаю запрос с этими столбцами, эта таблица агрегации будет пропущена? Это противоречит тому, что я планировал. Мой план был до тех пор, пока вы делаете запрос по границам года, используйте эту таблицу агрегации.

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

Что я делаю неправильно? И почему мое решение не работает?


Обновить Вот мой файл mondrian.properties:

mondrian.jdbcDrivers=com.mysql.jdbc.Driver,oracle.jdbc.driver.OracleDriver

mondrian.rolap.generate.formatted.sql=true
mondrian.rolap.localePropFile=locale.properties
mondrian.rolap.aggregates.Use=true
mondrian.rolap.aggregates.Read=true

mondrian.trace.level=2

mondrian.drillthrough.enable=true

Ответ 1

Возможно, будет mondrian.rolap.aggregates.Read установлено значение true и mondrian.rolap.aggregates.Use установлено значение false. Установите mondrian.rolap.aggregates.Use=true и проверьте. Ссылка: http://mondrian.pentaho.com/documentation/configuration.php

Если это не так, приложите все свойства, связанные с таблицами агрегатов и полным XML-описанием куба.