В таблице фактов в Autonomous Data Warehouse хранятся данные куба Essbase, имеющего федерированный раздел. Если у вас нет таблицы фактов, соответствующей требованиям для федерированных разделов, нужно ее создать. Кроме того, нужно понять, что такое измерение сводной таблицы, и выбрать его в кубеEssbase.
Перед началом работы с этим разделом создайте приложение и куб Essbase, если у вас их еще нет.
Для федерированных разделов в таблице фактов хранятся значения данных из куба Essbase. Если нужной таблицы фактов в Autonomous Data Warehouse нет, ее необходимо создать.
Прежде чем начать, убедитесь, что в таблице фактов создана пустая схема. См. раздел "Создание схемы для федерированных разделов".
Таблица фактов должна иметь формат, совместимый с Essbase, то есть соответствовать следующим требованиям к содержимому и форме:
Каждое из измерений куба (без атрибутов) должно быть представлено как один заголовок столбца, за исключением одного измерения (обычно того, которое содержит показатели/учетные записи), которое делится на два или более столбцов.
Примечание.:
В остальной части документации последнее измерение называется измерение сводной таблицы.
Таблица фактов должна включать в себя уникальные записи (без дубликатов), по одной строка на последовательность пересечений ячеек Essbase.
Если вы знакомы с экспортом данных в Essbase, то заметите, что форма таблицы фактов в точности соответствует формату экспорта столбцов Essbase.
Как и файл экспорта столбцов, таблица фактов должна содержать:
один столбец для каждого измерения без атрибутов (кроме измерения сводной таблицы);
один столбец для каждого сохраненного элемента измерения поворота.
Ниже приведен пример таблицы фактов, в которой измерение показателей является измерением сводной таблицы. Измерение сводной таблицы влияет на форму таблицы фактов, поскольку элементы этого измерения становятся заголовками столбцов: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY и ADDITIONS.
Таблицу фактов можно создать с помощью SQL или данных, экспортированных из Essbase. Данные в таблицу фактов можно загрузить с помощью инструментов Autonomous Data Warehouse или с помощью функции загрузки данных в Essbase.
Дополнительные рекомендации по построению таблицы фактов:
в таблице фактов должно быть менее 1000 столбцов;
Не включайте столбцы, сопоставленные с измерениями Essbase, содержащими атрибуты.
Точность таблицы фактов должна быть не ниже IEEE binary64 (двойная).
Таблица факта должна иметь интернационализированные строки для элементов измерений, использующие тип NVARCHAR2 и имеющие длину символов 1024 бита.
Пример создания таблицы фактов
Для создания таблицы фактов в Autonomous Data Warehouse можно использовать SQL.
С помощью SQL Developer или другого удобного вам инструмента войдите в Autonomous Data Warehouse как владелец схемы (см. шаг "Создание схемы для федерированных разделов").
Если таблица фактов еще не существует, создайте ее с помощью SQL.
Например, следующий запрос SQL создает таблицу фактов из данных, экспортированных из куба Essbase Sample Basic.
CREATE TABLE "SAMP_FACT" ( "PRODUCT" NVARCHAR2(1024), "MARKET" NVARCHAR2(1024), "YEAR" NVARCHAR2(1024), "SCENARIO" NVARCHAR2(1024), "SALES" NUMBER(38,0), "COGS" NUMBER(38,0), "MARKETING" NUMBER(38,0), "PAYROLL" NUMBER(38,0), "MISC" NUMBER(38,0), "INITIAL_INVENTORY" NUMBER(38,0), "ADDITIONS" NUMBER(38,0) ) NOCOMPRESS LOGGING PARALLEL 4;
Примечания
В приведенном выше примере имя таблицы SAMP_FACT, она создана на основе Sample Basic.
Для повышения производительности все нечисловые столбцы в таблице фактов должны иметь тип NVARCHAR2(1024), а все числовые столбцы — NUMBER.
Oracle рекомендует активировать параллельное создание индекса в Autonomous Data Warehouse, добавив PARALLEL 4.
В столбцах метаданных должны быть запрещены значения NULL.
Oracle рекомендует использовать параметр NOCOMPRESS, если использование куба включает процессы генерации данных, например инкрементную загрузку данных или пакетное обновление сценариев. Если куб используется в основном для операций чтения, используйте COMPRESS, чтобы оптимизировать таблицу фактов для создания отчетов.
Если происходит указанная ниже ошибка проверки при создании таблицы фактов, удалите пустые строки.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
Для повышения производительности не добавляйте особые ограничения для таблицы только в случае крайней необходимости.
В приведенном выше примере имя таблицы фактов создано на основе куба Sample Basic, доступного в разделе "галерея" в каталоге файлов Essbase. Можно экспортировать данные из этого или любого другого куба Essbase и загрузить их, чтобы построить таблицу фактов. Предварительно нужно настроить учетные данные для загрузки данных в приложение федерированного раздела. О том, как настроить учетные данные и экспортировать данные в формат DBMS с помощью команды DATAEXPORT, см. раздел "Загрузка данных федерированных разделов".
В рамках проектирования федерированного раздела нужно выбрать измерение сводной таблицы. Измерение сводной таблицы — это измерение, которое вы назначаете в структуре куба Essbase для представления значений числовых данных.
Измерение поворота не обязательно должно быть Measures/Accounts, но может ими быть.
Все сохраненные элементы измерения поворота должны сопоставляться со столбцами таблицы фактов, которые представляют числовые значения данных в Autonomous Data Warehouse.
Если нужно запустить сценарии расчета блочного хранилища (BSO) Essbase, выберите плотное измерение в качестве измерения сводной таблицы. Сценарии расчета не поддерживаются для федерированных разделов с разреженным измерением сводной таблицы.
Измерение сводной таблицы должно содержать статические имена элементов и не очень большое количество элементов. Причина: измерение сводной таблицы в структуре куба Essbase (например путем добавления или переименования сохраненных элементов) требует соответствующего ручного обновления таблицы фактов в Autonomous Data Warehouse и пересоздания федерированного раздела.
Измерения Essbase, которые включают элементы, требующие сложных динамических формул (таких как "Начальные запасы" и "Конечные запасы" на примере Sample Basic), не следует выбирать в качестве измерения поворота.
Выбранное измерение поворота указывается во время создания федерированного раздела.
База данных Oracle может содержать не более 1000 столбцов, и измерение сводной таблицы наследует это ограничение. Определите количество применимых элементов столбцов в измерении сводной таблицы, чтобы убедиться, что вы укладываетесь в ограничение. Сумма количества потенциально сохраняемых сочетаний элементов в измерении сводной таблицы и количества измерений в кубе не должна превышать 1000.
Для кубов агрегированного хранения запрещается выбирать в качестве сводного какие-либо измерения, содержащие многоуровневые иерархии элементов. Выберите сводное измерение с динамическими иерархиями или сохраняемую плоскую (одноуровневую) иерархию, где все элементы — это сохраняемые элементы уровня 0.