Проблемы с OBIEE с начала года

У меня есть таблица фактов с различной степенью детализации (зернистость даты)

  1. Ежемесячно

  2. Ежедневно

Доступ к данным месяца можно получить, отфильтровав дату окончания месяца или используя формат даты ГГГГММ. В репозитории OBIEE RPD для факта установлено значение LAST Aggregation.

Я хочу выполнить годовой анализ. И я хочу суммировать только даты окончания месяца.

Используя функцию TODATE (Measure), он стремится суммировать все данные за месяц e.grain

Date            Amount  YTD TODate(Amount)
31/01/2106      100     100
28/02/2016      200     300
14/03/2016      50      350*
31/03/2016      100     450

Я хочу, чтобы с начала года игнорировалось 50 и возвращалось 400, а также любые другие даты, которые попадают в любой месяц. И если я выберу 14.03.2016, я хочу вернуть 350.

Спасибо.


person Abacus    schedule 22.08.2016    source источник
comment
Можете ли вы редактировать базовую таблицу / RPD? Вы должны выполнить некоторую LTS-работу, которая сделает это за вас / повысит производительность.   -  person Mark P.    schedule 23.08.2016
comment
Спасибо за ответ. Да, я могу редактировать базовую таблицу и RPD ... Пожалуйста, помогите определить работу LTS ... спасибо.   -  person Abacus    schedule 23.08.2016


Ответы (1)


Измените таблицу, чтобы добавить флаг, который отмечает Y, если запись находится на указанном месячном уровне, и N, если запись не на указанном месячном уровне.

На логическом уровне создайте два разных LTSs с первой фильтрацией по флагу для Y. Здесь вы будете рассчитывать и получать все свои текущие показатели. Второй LTS можно либо отфильтровать до N, либо оставить для всех данных в зависимости от того, что вы хотите с ним делать.

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

Что произойдет, если пользователь выберет вашу текущую меру и конкретную меру даты в одном отчете, OBIEE должен запустить два отдельных запроса, чтобы получить данные и сшить их вместе на основе общих измерений.

Может ли кто-нибудь создать это во внешнем интерфейсе? Наверное. Вам нужно будет выполнить какую-то PERIODROLLING функцию и сказать ей, чтобы она агрегировалась на уровне месяца, но я боюсь, что она все равно может свернуть эти дни до большего, чем желаемое число. Функция TODATE здесь работать не будет.

person Mark P.    schedule 23.08.2016