Transformación de datos tabulares en cubos

Puede crear un cubo a partir de datos tabulares extrayendo tablas de hechos de una base de datos relacional a un archivo de Excel y, a continuación, desplegando el cubo.

Se detectan patrones en las relaciones entre las cabeceras de columna y los datos para desplegar un cubo multidimensional. El proceso para transformar datos tabulares en una estructura que se puede utilizar en un cubo multidimensional incluye estos conceptos:

  • Correlaciones entre columnas

  • Correlaciones entre tipos de columnas (como fecha, número y texto)

  • Análisis de texto de cabecera para prefijos comunes y términos relacionados con la inteligencia de negocio (como costo, precio, cuenta)

  • Estructura del informe (como celdas fusionadas y celdas vacías)

  • (Opcional) Cabeceras de designación forzada que se utilizan para definir explícitamente la forma de un cubo y que pueden incluir fórmulas para crear dimensiones de medidas.

  • Jerarquías de medidas (se pueden generar también en Transformar datos en el diseñador de cubos).

Se proporcionan archivos de Excel de datos tabulares de ejemplo para demostrar los conceptos de cabeceras intrínsecas y de designación forzada.

Al trabajar con datos tabulares, debe analizar los datos antes de crear un cubo a partir de ellos. A continuación, una vez creado el cubo, debe determinar si el esquema del cubo es tal y como desea.

Puede crear un cubo a partir de datos tabulares en la instancia de Essbase o en el diseñador de cubos. Consulte Creación y actualización de un cubo a partir de datos tabulares.

Utilización de cabeceras intrínsecas para transformar datos tabulares en cubos

Las cabeceras intrínsecas utilizan el formato table.column, que se muestra en el archivo Sample_Table.xlsx. En este archivo de ejemplo, las cabeceras de columna tienen nombres como Units, Discounts, Time.Month, Regions.Region, and Product.Brand.

El proceso de transformación crea esta jerarquía:

Units
Discounts
Fixed Costs
Variable Costs
Revenue
Time
   Month
   Quarter
Years
Regions
   Region
   Area
   Country
Channel
Product
   Brand
...

Uso de cabeceras de designación forzada para transformar datos tabulares en cubos

Con cabeceras de designación forzada (indicaciones), puede especificar cómo se deben manejar los datos tabulares durante el proceso de transformación.

Por ejemplo, puede forzar que se trate una columna como una dimensión de medidas o atributos. La mayoría de cabeceras de designación forzada necesitan una palabra clave entre corchetes [ ]. Las cabeceras de designación forzada se muestran en las plantillas Unstr_Hints.xlsx y en las plantillas Sample_Table.xlsx (disponibles en la galería).

Formatos de cabeceras de designación forzada soportados:

Tabla 6-1 Formatos de cabeceras de designación forzada

Designación Formato de cabecera Ejemplo

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]

El principal superior, si es único, es el nombre de la dimensión de cuentas. Si no es único, este miembro se generará automáticamente en la dimensión de cuentas.

Measures.profit[measure]

profit.cost[measure]

cost.price[measure]

Measures formula

MeasureName[=formula_syntax;]

profit[="precio"-"costo";]

profit[="D1"-"E1";]

price[=IF ("S1" == #MISSING) "R1"; ELSE "S1"; ENDIF;]

Measures consolidation

MeasureName[+] : agregar a principal

MeasureName[-] : restar de principal

MeasureName[~] : sin consolidación (equivalente a [measure])

El valor por defecto es sin consolidación.

price.shipment[+]

Solo se puede definir la consolidación para dimensiones de medida

Formula consolidation

FormulaName[+=<formula>] : agregar a principal

FormulaName[-=<formula>] : restar de principal

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

No se lee la columna.

ColumnName[skip]

column[skip]

Recur

Se utiliza el valor de celda de la última columna para las celdas vacías

Recurrente se puede combinar con otras designaciones forzadas; incluya una lista separada por comas de designaciones forzadas entre corchetes, ColumnName[designationA,recur].

ColumnName[recur]

Product[recur]

Product[uda,recur]

Puede especificar que las columnas sean dimensiones de medidas y puede utilizar fórmulas para crear dimensiones de medidas con datos calculados durante el proceso de transformación. Las cabeceras de designación forzada de medidas y fórmulas de medidas se especifican con el nombre de la dimensión de medidas, seguido de una palabra clave o fórmula que se pone entre corchetes y se agrega al nombre de la dimensión de medidas.

También puede consolidar medidas y fórmulas agregándolas al principal o restándolas de este.

Para especificar que una columna sea una dimensión de medidas, en la cabecera de columna, introduzca el nombre de la dimensión de medidas y, a continuación, agregue la palabra clave [measure]. Por ejemplo, puede especificar las columnas Units y Fixed Costs como dimensiones de medidas utilizando esta sintaxis: Units[measure] y Fixed Costs[measure].

El proceso de transformación crea esta jerarquía, con Units, Discounts, Fixed Costs, Variable Costs y Revenue como medidas:

Time
   Year
      Quarter
         Month
Regions
   Region
      Area
         Country
...
Product
   Brand
...
Units
Discounts
Fixed Costs
Variable Costs
Revenue

Puede crear una jerarquía de generación de medidas (jerarquía parent.child[measure]), de manera similar a como se crean las generaciones de dimensiones regulares.

Por ejemplo, para crear una jerarquía de medidas se introduce Measures.profit[measure], profit.cost[measure] y cost.price[measure], lo que da lugar a la siguiente jerarquía:

Measures
      profit
            cost
                price

Para crear dimensiones de medidas a partir de fórmulas, en la cabecera de columna, introduzca el nombre de la dimensión de medidas y, a continuación, agregue la sintaxis de fórmula entre corchetes [ ]. Entre corchetes, inicie la fórmula con un signo igual (=) y finalícela con un punto y coma (;). Los argumentos de la fórmula se corresponden con nombres de columnas o coordenadas de celdas, que deben estar entre comillas. Puede utilizar comandos y funciones de cálculo de Essbase en la fórmula.

Suponga que ya existe un archivo de Excel denominado Spend_Formulas.xlsx con datos tabulares en la hoja de trabajo SpendHistory, que tiene varias columnas. Por ejemplo, existen dimensiones denominadas Año (columna A) y Trimestre (columna B), y dimensiones de medidas denominadas Gasto (columna J) y Gasto permitido (columna K). Estas columnas tienen datos. A continuación, hay cabeceras de columna que usan fórmulas para crear dimensiones de medidas. Estas columnas no tienen datos. Por ejemplo, para crear la dimensión Gasto total, la cabecera de la columna O utiliza esta fórmula de Essbase: Measure.Total Spend[="Gasto permitido" + "Gasto no permitido";]. Para crear la dimensión AddSpendPercent, la cabecera de la columna P utiliza esta fórmula de Essbase: Measure.AddSpendPercent[="Gasto permitido"/"Gasto total";].

El proceso de transformación crea esta jerarquía:


Imagen de vista previa de transformación de datos tabulares.

El proceso de transformación también puede identificar dimensiones de medidas cuando un nombre de dimensión está duplicado. Suponga que tiene una cabecera de columna que utiliza esta fórmula, Meas.profit[="a1"-"b1";], que crea la dimensión Med. Si, en otra cabecera de columna, utiliza el nombre de dimensión Med. como principal superior, como Meas.Sales, la dimensión Ventas también se considera una dimensión de medidas.