Преобразование табличных данных в куб

Куб можно создать на основе табличных данных путем извлечения таблиц фактов из реляционной базы данных в файл 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 также считается измерением показателей.