Куб можно создать на основе табличных данных путем извлечения таблиц фактов из реляционной базы данных в файл Excel и последующего развертывания куба.
Для развертывания многоразмерного куба определяются шаблоны во взаимосвязях между заголовками столбцов и данными. Далее перечислены принципы процесса преобразования табличных данных в структуру, которая может быть использована в многоразмерном кубе.
Корреляции между столбцами
Корреляции между типами столбцов (такими как дата, число и текст)
Анализ текста заголовков для определения общих префиксов и терминов, связанных с бизнес-аналитикой (таких как затраты, цена, счет)
Структура отчета (например, объединенные и пустые ячейки)
Дополнительно: заголовки принудительного назначения, которые используются для явного определения формы куба и могут включать формулы для создания измерений элементов.
Иерархии показателей (которые также можно создать с помощью команды "Преобразовать данные" в конструкторе кубов).
Предоставленные примеры файлов Excel с табличными данными демонстрируют концепции собственных заголовков и заголовков принудительного назначения.
Работая с табличными данными, их следует анализировать до создания куба на их основе. Тогда, после создания куба, следует определить, соответствует ли структура куба нужным требованиям.
Куб можно создать на основе табличных данных в экземпляре Essbase или конструкторе кубов. См. раздел "Создание и обновление куба на основе табличных данных".
В собственных заголовках используется формат таблица.столбец, который продемонстрирован в файле Sample_Table.xlsx
. В этом образце файла заголовки столбцов имеют такие имена, как Units, Discounts, Time.Month, Regions.Region, и Product.Brand.
В процессе преобразования создается указанная ниже иерархия.
Units Discounts Fixed Costs Variable Costs Revenue Time Month Quarter Years Regions Region Area Country Channel Product Brand ...
Заголовки принудительного назначения (подсказки) позволяют указать способ обработки табличных данных в процессе преобразования.
Например, столбец может принудительно считаться измерением показателей или атрибутов. Для большинства заголовков принудительного назначения требуется ключевое слово в квадратных скобках ([]). Заголовки принудительного назначения показаны в шаблонах Unstr_Hints.xlsx
и Sample_Table.xlsx
(доступны в галерее).
Поддерживаемые форматы заголовков принудительного назначения:
Таблица 6-1 Форматы заголовков принудительного назначения
Назначение | Формат заголовка | Пример |
---|---|---|
Dimension generation |
ParentGeneration.CurrentGeneration |
Category.Product |
Alias |
ReferenceGeneration.Generation[alias] |
Year.ShortYearForm[alias] |
Attribute |
ReferenceGeneration.AttributeDimName[attr] |
Product.Discounted[attr] |
Measures |
MeasureName[measure] |
Price[measure] |
Measure generation |
Parent.child[measure] Уникальный родительский элемент высшего уровня — имя измерения Account. Если этот элемент не уникальный, он автоматически создается в измерении Account. |
Measures.profit[measure] profit.cost[measure] cost.price[measure] |
Measures formula |
MeasureName[=formula_syntax;] |
profit[="price"-"cost";] profit[="D1"-"E1";] price[=IF ("S1" == #MISSING) "R1"; ELSE "S1"; ENDIF;] |
Measures consolidation |
MeasureName[+] : прибавить к родительскому элементу MeasureName[-] : вычесть из родительского элемента MeasureName[~] : без консолидации (эквивалентно [measure]) По умолчанию консолидация не применяется. |
price.shipment[+] Консолидация возможна только для показателя dim |
Formula consolidation |
FormulaName[+=<formula>] : прибавить к родительскому элементу FormulaName[-=<formula>] : вычесть из родительского элемента |
profit[+=price-cost] cost.external[+=ExternalWork+ExternalParts] |
UDA |
ReferenceGeneration[uda] |
Product[uda] |
Skip Такой столбец не читается. |
ColumnName[skip] |
column[skip] |
Recur Для пустых ячеек используется значение ячейки последнего столбца Вариант "Recur" можно комбинировать с другими принудительными назначениями. В скобки следует включить список принудительных назначений, разделенных запятыми: ColumnName[designationA,recur]. |
ColumnName[recur] |
Product[recur] Product[uda,recur] |
В процессе преобразования можно указать столбцы, которые должны быть измерениями показателей, а также использовать формулы для создания измерений показателей на основе вычисленных данных. Заголовки показателей принудительного назначения для показателей и формул показателей указываются вместе с именем измерения показателей, за которым в квадратных скобках следует ключевое слово или формула.
Для консолидации показателей и формул можно прибавить их к родительскому элементу (или вычесть из него).
Чтобы указать столбец, который должен быть измерением показателей, в заголовке столбца введите имя измерения показателей, а затем добавьте ключевое слово [measure]. Например, столбцы Units и Fixed Costs можно указать как измерения показателей, используя следующий синтаксис: Units[measure] и Fixed Costs[measure].
В процессе преобразования создается указанная ниже иерархия с показателями Units, Discounts, Fixed Costs, Variable Costs и Revenue.
Time Year Quarter Month Regions Region Area Country ... Product Brand ... Units Discounts Fixed Costs Variable Costs Revenue
Можно создать иерархию создания показателей (иерархию parent.child[measure]). Она создается так же, как обычные измерения.
Например, чтобы создать иерархию показателей, введите Measures.profit[measure], profit.cost[measure] и cost.price[measure]. В результате будет создана указанная ниже иерархия.
Measures profit cost price
Чтобы создать измерения показателей на основе формул, в заголовке столбца введите имя измерения показателя, а затем в квадратных скобках ([]) добавьте формулу. В скобках формула начинается со знака равно (=), а заканчивается точкой с запятой (;). Аргументы в формулах соответствуют именам столбцов или координатам ячеек. Они должны быть заключены в кавычки. В формуле можно использовать вычислительные функции и команды Essbase.
Предположим, что есть файл Excel с именем Spend_Formulas.xlsx и табличными данными на листе SpendHistory, в котором много столбцов. Например, есть измерения Year (столбец A) и Quarter (column B), а также измерения показателей Spend (столбец J) и Addressable Spend (столбец K). Эти столбцы содержат данные. Также есть заголовки столбцов, в которых используются формулы для создания измерений показателей. В этих столбцах нет данных. Например, для создания измерения Total Spend в заголовке столбца O используется следующая формула Essbase: Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Для создания измерения AddSpendPercent в заголовке столбца P используется следующая формула Essbase: Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].
В процессе преобразования создается указанная ниже иерархия.
В процессе преобразования также могут быть идентифицированы измерения показателей с дублирующимся именем измерения. Предположим, что есть заголовок столбца, в котором используется формула Meas.profit[="a1"-"b1";], которая создает измерение Meas. Если в другом заголовке столбца имя измерения Meas используется как родительский элемент верхнего уровня, например Meas.Sales, измерение Sales также считается измерением показателей.