Чтобы повысить гибкость источников данных, можно реализовать параметры времени выполнения в запросе, чтобы разрешить источнику данных использовать переменные.
Это могут быть подстановочные переменные, определенные в Essbase, параметры времени выполнения, определенные контекстом сетки, когда пользователи Smart View просматривают детализацию внешних данных, или определяемые пользователем функции, написанные во внешней исходной системе.
Всякий раз, когда планируется использовать переменные в источниках данных Essbase, для начала нужно выполнить указанные ниже действия.
Включите синтаксис переменных в запрос источника данных. Например, запрос источника данных должен включать в свой синтаксис ?
, где ?
— это заполнитель для некоторой переменной, которая должна быть определена во время выполнения.
Используйте одну из указанных ниже процедур.
Установите фиксированное значение параметра по умолчанию в источнике данных для Essbase, чтобы использовать его в качестве запасного варианта, если переменная будет иметь недопустимый контекст во время выполнения, ИЛИ
Передайте внешнюю пользовательскую функцию (или сохраненную процедуру) в качестве параметра
Чтобы определить источники данных и реализовать для них параметры, вы должны обладать ролью менеджера приложений или выше.
Использование переменных в источниках данных Essbase помогает оптимизировать операции, поскольку требует обслуживания меньшего количества источников данных. Добавление переменных в источники данных позволяет указать контекст запроса времени выполнения, который будет применяться всякий раз, когда пользователь обращается к источнику данных, связанному с кубом Essbase.
В качестве примера рассмотрим указанные ниже варианты использования.
Менеджер баз данных наблюдает за повторяющимся заданием загрузки данных, которое ежемесячно загружает данные в куб. Менеджер баз данных теперь может использовать подстановочную переменную для загрузки данных за текущий месяц вместо отдельного сохранения правила загрузки для каждого месяца.
Менеджер приложений обеспечивает определение детализированных отчетов для различных вариантов использования в бизнесе. Менеджер приложений добавляет переменные в базовый источник данных, из которого пользователи Smart View извлекают данные для операций по детализации. В результате менеджер приложений в меньшем объеме детализирует определения отчетов для обслуживания и отладки.
Установите параметр по умолчанию в источнике данных, если требуется включить использование переменных в запросах, которые Essbase генерирует при работе с данными, хранящимися вне куба.
Чтобы установить параметр по умолчанию, выполните указанные ниже действия.
Подключитесь или создайте подключение к внешнему источнику данных (например, создайте подключение к базе данных Oracle).
Можно использовать глобальное подключение, если оно уже существует, на странице "Источники" веб-интерфейса Essbase, или создать подключение на уровне приложения.
Создайте источник данных через подключение, которое вы будете использовать для доступа к базе данных Oracle.
Источник данных можно определить глобально, если он должен быть доступен для всех приложений, или на уровне приложения.
Чтобы создать глобальный источник данных, требуется роль "Администратор сервиса". Нажмите Источники, выберите вкладку Источники данных под своим именем пользователя и нажмите Создать источник данных.
Либо, чтобы создать источник данных на уровне приложения, требуется роль "менеджер приложений" или "опытный пользователь" с правами управления указанным приложением. На вкладке Приложения нажмите на имя приложения. Затем нажмите Источники, выберите вкладку Источники данных под своим именем пользователя и нажмите Создать источник данных.
В ходе выполнения шага Общие в разделе Подключение выберите созданное вами подключение к базе данных Oracle.
В разделе Имя введите имя источника данных.
В разделе Запрос укажите запрос (в этом примере используется SQL). Чтобы сделать запрос параметризованным, необходимо включить условие фильтра (фраза WHERE), которое сопоставляет реляционный столбец в вашем источнике с заполнителем. Положение переменной указывается с помощью заполнителя ? в синтаксисе запроса. Заполнитель предназначен для параметра, который будет передан позднее.
select * from SB_DT where DIMENSION_YEAR=?
Например, предположим, что в реляционной базе данных имеются следующие ограничения: таблица с именем SB_DT. В таблице есть столбец DIMENSION_YEAR со значениями месяцев:
Чтобы использовать переменную для выбора значений месяцев из столбца DIMENSION_YEAR, примените к запросу следующий синтаксис фильтра: where DIMENSION_YEAR=?
Нажмите Далее.
В ходе выполнения шага Столбцы примените соответствующий тип данных, который Essbase должен связать с каждым столбцом реляционных исходных данных.
Например, задайте для числовых столбцов тип Двойной, а для буквенно-цифровых столбцов оставьте тип Строка.
Нажмите Далее.
В ходе выполнения шага "Параметры" создается Param1 — этот параметр существует, потому что вы использовали "?" в запросе в ходе выполнения шага "Общие".
Не устанавливайте флажок Использовать переменные, дважды нажмите на текстовое поле в разделе Значение и введите значение по умолчанию для параметра времени выполнения. Это значение по умолчанию используется Essbase в качестве запасного варианта на случай, если параметр будет иметь недопустимый контекст во время выполнения. Этот шаг важен, если вы собираетесь использовать параметры времени выполнения как часть определений детализированных отчетов.
Вы также можете изменить имя параметра Param1 на более содержательное. Например, можно переименовать его в param_G_month, чтобы указать, что параметр использует глобальную переменную для текущего месяца, или можно использовать имя param_<appName>_month, чтобы указать, что параметр использует переменную на уровне приложения для текущего месяца. Настройка имен параметров может быть полезна при отладке параметров с помощью файлов журналов сервера Essbase.
Если вы хотите настроить параметр для ссылки на подстановочную переменную, значение по умолчанию указывать не нужно. Вместо данной темы см. раздел Использование подстановочных переменных в источнике данных.
Нажмите Далее.
Обратите внимание, что в разделе Предварительный просмотр к запросу был применен параметр по умолчанию. В результате предварительный просмотр заполняется только записями из внешнего источника, в которых значение столбца DIMENSION_YEAR равно Jan.
Хотя при предварительном просмотре отображались только значения с примененным параметром по умолчанию, позже, когда вы реализуете параметры времени выполнения для определения детализированного отчета, вы получите доступ к большему количеству внешних данных, чем при предварительном просмотре.
Нажмите Создать, чтобы создать источник данных на основе этого запроса ваших данных из внешнего источника. Источник данных включен для реализации параметров времени выполнения.
Описанные ниже рабочий процесс демонстрирует, как создать источник данных Essbase из запроса данных внешнего источника, используя подстановочную переменную, определенную в Essbase. Подстановочная переменная повышает гибкость создания запроса, который извлекается из ваших исходных данных.
В этом примере используется подстановочная переменная в Essbase для объявления текущего месяца. Вместо ежемесячного обновления источников данных для извлечения данных за текущий месяц можно не затрагивать источники данных и обновить только подстановочную переменную , которая была определена.
Создайте подстановочную переменную на глобальном уровне или уровне приложения.
Подключитесь или создайте подключение к внешнему источнику данных (например, создайте подключение к базе данных Oracle).
Можно использовать глобальное подключение, если оно уже существует, на странице "Источники" веб-интерфейса Essbase, или создать подключение на уровне приложения.
Создайте источник данных через подключение, которое вы будете использовать для доступа к базе данных Oracle.
Источник данных можно определить глобально, если он должен быть доступен для всех приложений, или на уровне приложения.
В ходе выполнения шага Общие в разделе Подключение выберите созданное вами подключение к базе данных Oracle.
В разделе Имя введите имя источника данных.
В разделе Запрос укажите запрос (в этом примере используется SQL). Чтобы сделать запрос параметризованным, необходимо включить условие фильтра (фраза WHERE), которое сопоставляет реляционный столбец в вашем источнике с заполнителем. Положение переменной указывается с помощью заполнителя ?
в синтаксисе запроса. Заполнитель предназначен для параметра, который будет передан позднее.
select * from SB_DT where DIMENSION_YEAR=?
Например, предположим, что в реляционной базе данных имеются следующие ограничения: таблица с именем SB_DT. В таблице есть столбец DIMENSION_YEAR со значениями месяцев:
Чтобы использовать переменную для выбора значений месяцев из столбца DIMENSION_YEAR, примените к запросу следующий синтаксис фильтра: where DIMENSION_YEAR=?
Нажмите Далее.
В ходе выполнения шага Столбцы примените соответствующий тип данных, который Essbase должен связать с каждым столбцом реляционных исходных данных.
Например, задайте для числовых столбцов тип Двойной, а для буквенно-цифровых столбцов оставьте тип Строка.
Нажмите Далее.
В ходе выполнения шага "Параметры" создается Param1 — этот параметр существует, потому что вы использовали ?
в запросе в ходе выполнения шага "Общие". Чтобы настроить Param1 для ссылки на подстановочную переменную, нажмите Использовать переменные и выберите подстановочную переменную в раскрывающемся списке Значение.
Если вы создаете источник данных в приложении, для выбора доступны глобальные подстановочные переменные и подстановочные переменные на уровне приложения. Переменные на уровне приложения имеют префикс имени приложения. Если вы создаете глобальный источник данных, для выбора доступны только глобальные подстановочные переменные.
Вы можете изменить имя параметра Param1 на более содержательное. Например, можно переименовать его в param_G_month, чтобы указать, что параметр использует глобальную переменную для текущего месяца, или можно использовать имя param_<appName>_month, чтобы указать, что параметр использует переменную на уровне приложения для текущего месяца. Настройка имен параметров может быть полезна при отладке параметров с помощью файлов журналов сервера Essbase.
Нажмите Далее.
Обратите внимание, что в разделе Предварительный просмотр подстановочная переменная применяется к вашему запросу. В результате предварительный просмотр заполняется только записями из внешнего источника, в которых значение столбца DIMENSION_YEAR равно Aug.
Нажмите Создать, чтобы создать источник данных на основе этого запроса ваших данных из внешнего источника.