gifts2017

Параметры при построении OLAP запроса

Опубликовал ptr (ptr) в раздел Программирование - Практика программирования

Нередко пользователь хочет иметь возможность указать какой-то параметр при запросе к OLAP. Сам OLAP ничего про параметры не знает. Однако есть способ, как это реализовать.

Разберем эту проблему на следующем примере.

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

Создаем в кубе измерение "Количество месяцев", базирующееся на таблице со структурой:

CREATE TABLE OLAP_PARM_PERIODS (

  PERIOD smallint, PERIOD_NAME nvarchar(30)?

  PRIMARY KEY CLUSTERED (PERIOD))

И заполняем ее, например, двенадцатью месяцами. Отображаем поле PERIOD на аттрибут [Месяцев], делая его ключевым, а поле PERIOD_NAME на аттрибут [Месяцев - описание].

Включаем измерение "Количество месяцев" в наш OLAP куб, но не привязывем его вообще к таблице фактов.

Теперь выбор пользователем этого измерения в фильтр никак не повлияет на выборку из OLAP. Зато значение, выбранное пользователем, мы можем использовать в вычисляемых мерах по нашему усмотрению.

Для проверки значения нашего параметра мы пользуемся функцией CInt([Количество месяцев].[Месяцев].CurrentMember.Properties('Key'))

Аналогичным образом можно подключить сколько угодно парамеров к OLAP кубу, которые не будут влиять на выборку из таблицы фактов, зато могут влиять на данные, отображаемые нашими вычисляемыми мерами.

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа