В OBIEE обычно используются два типа переменных:
- Переменные репозитория
- Переменные сеанса
Помимо этого вы также можете определить переменные представления и запроса.
Переменные репозитория
Переменная репозитория имеет одно значение в любой момент времени. Переменные репозитория определяются с помощью инструмента администрирования Oracle BI. Переменные репозитория можно использовать вместо констант в мастере Expression Builder.
Существует два типа переменных репозитория —
- Статические переменные репозитория
- Динамические переменные репозитория
Переменные статического хранилища определяются в диалоговом окне переменных, и их значение существует до тех пор, пока администратор не изменит их.
Переменные статического репозитория содержат инициализаторы по умолчанию, которые являются числовыми или символьными значениями. Кроме того, вы можете использовать Expression Builder для вставки константы в качестве инициализатора по умолчанию, например даты, времени и т. Д. Вы не можете использовать любое другое значение или выражение в качестве инициализатора по умолчанию для статической переменной репозитория.
В более ранних версиях BI инструмент администратора не ограничивал значение статических переменных репозитория. Вы можете получить предупреждение при проверке согласованности, если ваш репозиторий был обновлен с более старых версий. В таком случае обновите переменные статического репозитория, чтобы инициализаторы по умолчанию имели постоянное значение.
Переменные динамического репозитория аналогичны статическим переменным, но значения обновляются данными, возвращаемыми из запросов. При определении переменной динамического репозитория вы создаете блок инициализации или используете ранее существующий блок, содержащий запрос SQL. Вы также можете настроить расписание, которому будет следовать Oracle BI Server, чтобы выполнять запрос и периодически обновлять значение переменной.
Когда значение переменной динамического репозитория изменяется, все записи кэша, связанные с бизнес-моделью, удаляются автоматически.
Каждый запрос может обновлять несколько переменных: по одной переменной для каждого столбца в запросе. Вы планируете выполнение этих запросов сервером Oracle BI.
Переменные динамического репозитория полезны для определения содержимого источников логических таблиц. Например, предположим, у вас есть два источника информации о заказах. Один источник содержит текущие заказы, а другой содержит исторические данные.
Создать переменные репозитория
В Инструменте администрирования → Перейти к управлению → Выбрать переменные → Диспетчер переменных → Перейти к действию → Создать → Репозиторий> Переменная.
В диалоговом окне «Переменная» введите имя переменной (имена всех переменных должны быть уникальными) → Выберите тип переменной — «Статическая» или «Динамическая».
Если вы выбираете динамическую переменную, используйте список блоков инициализации, чтобы выбрать существующий блок инициализации, который будет использоваться для обновления значения на постоянной основе.
Чтобы создать новый блок инициализации → Нажмите Новый. Чтобы добавить значение инициализатора по умолчанию, введите значение в поле инициализатора по умолчанию или нажмите кнопку Построитель выражений, чтобы использовать Построитель выражений.
Для статических переменных репозитория значение, указанное в окне инициализатора по умолчанию, сохраняется. Это не изменится, если вы не измените это. Если вы инициализируете переменную, используя строку символов, заключите строку в одинарные кавычки. Переменные статического репозитория должны иметь инициализаторы по умолчанию, которые являются постоянными значениями → Нажмите кнопку ОК, чтобы закрыть диалоговое окно.
Переменные сеанса
Переменные сеанса аналогичны переменным динамического репозитория и получают свои значения из блоков инициализации. Когда пользователь начинает сеанс, сервер Oracle BI создает новые экземпляры переменных сеанса и инициализирует их.
Экземпляров переменной сеанса столько же, сколько активных сеансов на сервере Oracle BI. Каждый экземпляр переменной сеанса может быть инициализирован с другим значением.
Существует два типа переменных Session —
- Системные переменные сеанса
- Несистемные переменные сеанса
Системные переменные сеанса используются Oracle BI и сервером Presentation для определенных целей. У них есть предопределенные зарезервированные имена, которые не могут использоваться другими переменными.
USER |
Эта переменная содержит значение, которое пользователь вводит вместе с логином. Эта переменная обычно заполняется из профиля LDAP пользователя. |
USERGUID |
Эта переменная содержит глобальный уникальный идентификатор (GUID) пользователя и заполняется из профиля LDAP пользователя. |
GROUP |
Он содержит группы, к которым принадлежит пользователь. Когда пользователь принадлежит к нескольким группам, включайте имена групп в один столбец, разделяя их точкой с запятой (Пример — GroupA; GroupB; GroupC). Если точка с запятой должна быть включена как часть имени группы, перед точкой с запятой ставится символ обратной косой черты (\). |
РОЛИ |
Эта переменная содержит роли приложения, к которым принадлежит пользователь. Когда пользователь принадлежит нескольким ролям, включайте имена ролей в один столбец, разделяя их точкой с запятой (Пример — RoleA; RoleB; RoleC). Если точка с запятой должна быть включена как часть имени роли, перед точкой с запятой ставится символ обратной косой черты (\). |
ROLEGUIDS |
Он содержит GUID для ролей приложения, к которым принадлежит пользователь. Идентификаторы GUID для ролей приложений совпадают с именами ролей приложений. |
РАЗРЕШЕНИЯ |
Он содержит разрешения, которыми владеет пользователь. Пример — oracle.bi.server.manageRepositories. |
USER
USERGUID
GROUP
РОЛИ
ROLEGUIDS
РАЗРЕШЕНИЯ
Несистемные переменные сеанса используются для настройки пользовательских фильтров. Например, вы можете определить несистемную переменную с именем Sale_Region, которая будет инициализирована именем пользователя sale_region.
Создать переменные сеанса
В инструменте администрирования → Перейти к управлению → Выбрать переменные.
В диалоговом окне «Диспетчер переменных» выберите «Действие» → «Создать» → «Сеанс» → «Переменная».
В диалоговом окне «Переменная сеанса» введите имя переменной (имена всех переменных должны быть уникальными, а имена системных переменных сеанса зарезервированы и не могут использоваться для других типов переменных).
Для переменных сеанса вы можете выбрать следующие параметры:
-
Разрешить любому пользователю устанавливать значение — эта опция используется для установки переменных сеанса после заполнения значения в блоке инициализации. Пример — эта опция позволяет неадминистраторам устанавливать эту переменную для выборки.
-
Чувствительный к безопасности — используется для определения переменной как чувствительной к безопасности при использовании стратегии безопасности базы данных на уровне строк, такой как Виртуальная частная база данных (VPD).
Разрешить любому пользователю устанавливать значение — эта опция используется для установки переменных сеанса после заполнения значения в блоке инициализации. Пример — эта опция позволяет неадминистраторам устанавливать эту переменную для выборки.
Чувствительный к безопасности — используется для определения переменной как чувствительной к безопасности при использовании стратегии безопасности базы данных на уровне строк, такой как Виртуальная частная база данных (VPD).
Вы можете использовать опцию списка блокировки инициализации, чтобы выбрать блок инициализации, который будет использоваться для регулярного обновления значения. Вы также можете создать новый блок инициализации.
Чтобы добавить значение инициализатора по умолчанию, введите значение в поле инициализатора по умолчанию или нажмите кнопку Построитель выражений, чтобы использовать Построитель выражений. Нажмите кнопку ОК, чтобы закрыть диалоговое окно.
Администратор может создавать несистемные переменные сеанса с помощью инструмента администрирования Oracle BI.
Переменные представления
Переменные представления создаются с помощью подсказок Dashboard. Существует два типа подсказок панели инструментов, которые можно использовать:
Колонка Подсказка
Переменная представления, созданная с подсказкой столбца, связана со столбцом, а значения, которые она может принимать, взяты из значений столбца.
Чтобы создать переменную представления, откройте диалоговое окно «Новая подсказка» или «Редактировать подсказку» → выберите переменную представления в поле «Набор переменной» → введите имя переменной.
Переменная подсказка
Переменная представления, созданная как приглашение переменной, не связана ни с одним столбцом, и вам необходимо определить ее значения.
Чтобы создать переменную представления как часть запроса переменной, в диалоговом окне «Новая подсказка» или «Редактировать подсказку» → выберите «Переменная представления» в поле «Подсказка для» → введите имя переменной.
Значение переменной представления заполняется столбцом или приглашением переменной, с помощью которого она создается. Каждый раз, когда пользователь выбирает значение в приглашении столбца или переменной, значение переменной представления устанавливается равным значению, которое выбирает пользователь.
Блоки инициализации
Блоки инициализации используются для инициализации переменных OBIEE: переменных динамического репозитория, системных переменных сеанса и не системных переменных сеанса.
Он содержит оператор SQL, который выполняется для инициализации или обновления переменных, связанных с этим блоком. Выполненный оператор SQL указывает на физические таблицы, доступ к которым можно получить с помощью пула соединений. Пул соединений определяется в диалоговом окне блока инициализации.
Если вы хотите, чтобы запрос для блока инициализации имел специфичный для базы данных SQL, вы можете выбрать тип базы данных для этого запроса.
Инициализируйте переменные динамического репозитория с помощью блока инициализации
Поле строки инициализации по умолчанию блока инициализации используется для установки значения переменных динамического репозитория. Вы также определяете расписание, которому следует сервер Oracle BI для выполнения запроса и обновления значения переменной. Если для уровня ведения журнала установлено значение 2 или выше, информация журнала для всех запросов SQL, выполненных для получения значения переменной, сохраняется в файле nqquery.log.
Расположение этого файла на BI-сервере —
ORACLE_INSTANCE \ диагностика \ журналы \ OracleBIServerComponent \ coreapplication_obisn
Инициализируйте переменные сеанса с помощью блока инициализации
Переменные сеанса также получают свои значения из блока инициализации, но их значение никогда не изменяется с временными интервалами. Когда пользователь начинает новый сеанс, сервер Oracle BI создает новый экземпляр переменных сеанса.
Все SQL-запросы, выполняемые для извлечения информации о переменных сеанса BI-сервером, если уровень ведения журнала установлен на 2 или выше в объекте пользователя Identity Manager или системная переменная сеанса LOGLEVEL установлена на 2 или выше в диспетчере переменных, сохраняется в nqquery.log файл.
Расположение этого файла на BI-сервере —
ORACLE_INSTANCE \ диагностика \ журналы \ OracleBIServerComponent \ coreapplication_obisn
Создать блоки инициализации в инструменте администратора
Перейдите в Диспетчер → Переменные → Появится диалоговое окно Диспетчер переменных. Перейдите в меню «Действия» → нажмите «Создать» → «Хранилище» → «Блок инициализации» → введите имя блока инициализации.
Перейдите на вкладку «Расписание» → выберите дату и время начала и интервал обновления.
Вы можете выбрать следующие параметры для блоков инициализации —
Отключить — если вы выберете эту опцию, блок инициализации будет отключен. Чтобы включить блок инициализации, щелкните правой кнопкой мыши существующий блок инициализации в диспетчере переменных и выберите «Включить». Эта опция позволяет вам изменить это свойство, не открывая диалоговое окно блока инициализации.
Разрешить отложенное выполнение — это позволяет отложить выполнение блока инициализации до тех пор, пока в течение сеанса не будет произведен доступ к соответствующей переменной сеанса.
Требуется для аутентификации — если вы выберете это, блок инициализации должен выполняться, чтобы пользователи могли войти в систему. Пользователям будет отказано в доступе к Oracle BI, если блок инициализации не выполняется.