Transformation de données tabulaires en cubes

Vous pouvez créer un cube à partir de données tabulaires en extrayant des tables de faits d'une base de données relationnelle dans un fichier Excel et en déployant le cube.

Les critères dans les relations entre les en-têtes de colonne et les données sont détectés afin de déployer un cube multidimensionnel. Le processus de transformation de données tabulaires en une structure pouvant être utilisée dans un cube multidimensionnel inclut les concepts suivants :

  • corrélations entre les colonnes ;

  • corrélations entre les types de colonne (date, nombre et texte par exemple) ;

  • analyse du texte d'en-tête pour les préfixes courants et les termes relatifs à l'informatique décisionnelle (comme le coût, le prix et le compte) ;

  • structure de rapport (comme les cellules fusionnées et les cellules vides) ;

  • (Facultatif) en-têtes à désignation forcée utilisés pour définir de manière explicite la forme d'un cube et qui peuvent inclure des formules permettant de créer des dimensions de mesures.

  • hiérarchies de mesures (peuvent également être générées à l'aide de l'option Transformer les données du concepteur de cubes).

Des fichiers Excel de données tabulaires échantillon sont fournis pour illustrer les concepts d'en-têtes intrinsèques et à désignation forcée.

En cas d'utilisation de données tabulaires, vous devez analyser les données avant de créer un cube à partir de celles-ci. Une fois le cube créé, vous devez déterminer si l'outline de cube est conforme à vos attentes.

Vous pouvez créer un cube à partir des données tabulaires dans l'instance d'Essbase ou le concepteur de cubes. Reportez-vous à Création et mise à jour d'un cube à partir de données tabulaires.

Transformation de données tabulaires en cubes à l'aide des en-têtes intrinsèques

Les en-têtes intrinsèques utilisent un format table.colonne, comme indiqué dans le fichier Sample_Table.xlsx. Dans ce fichier échantillon, les en-têtes de colonne portent des noms tels que Units, Discounts, Time.Month, Regions.Region et Product.Brand.

Le processus de transformation crée la hiérarchie suivante :

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

Transformation de données tabulaires en cubes à l'aide des en-têtes à désignation forcée

Les en-têtes (indicateurs) à désignation forcée vous permettent d'indiquer la manière dont les données tabulaires doivent être traitées lors du processus de transformation.

Par exemple, vous pouvez forcer le traitement d'une colonne en tant que dimension de mesures ou d'attributs. La plupart des en-têtes à désignation forcée requièrent un mot-clé entre crochets [ ]. Les en-têtes à désignation forcée sont indiqués dans les modèles Unstr_Hints.xlsx et Sample_Table.xlsx (disponibles dans la galerie).

Les formats d'en-tête à désignation forcée pris en charge sont les suivants :

Tableau 6-1 Formats d'en-tête à désignation forcée

Désignation Format d'en-tête Exemple

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]

Le parent le plus haut, s'il est unique, équivaut au nom de la dimension de compte. S'il ne l'est pas, ce membre est généré automatiquement dans la dimension Compte.

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[+] : ajouter au parent

MeasureName[-] : soustraire du parent

MeasureName[~] : aucune consolidation (équivaut à [measure])

La valeur par défaut est l'absence de consolidation.

price.shipment[+]

La consolidation ne peut être définie que pour une dimension de mesure.

Formula consolidation

FormulaName[+=<formula>] : ajouter au parent

FormulaName[-=<formula>] : soustraire du parent

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

La colonne n'est pas lue.

ColumnName[skip]

column[skip]

Recur

La valeur de la dernière cellule de colonne est utilisée pour les cellules vides.

Récurrent peut être associé à d'autres désignations imposées ; placez entre crochets la liste des désignations forcées séparées par des virgules, par exemple ColumnName[designationA,recur].

ColumnName[recur]

Product[recur]

Product[uda,recur]

Vous pouvez indiquer des colonnes en tant que dimensions de mesures et utiliser des formules pour créer des dimensions de mesures avec les données calculées lors du processus de transformation. Les en-têtes à désignation forcée de mesures et de formule de mesures sont indiquées avec le nom de la dimension de mesures, à la fin duquel est ajouté un mot-clé ou une formule entre crochets.

Vous pouvez également consolider des mesures et des formules en les ajoutant au parent ou en les en soustrayant.

Pour indiquer une colonne en tant que dimension de mesures, dans l'en-tête de colonne, saisissez le nom de la dimension de mesures et ajoutez le mot-clé [measure]. Par exemple, vous pouvez indiquer les colonnes Units et Costs en tant que dimensions de mesures à l'aide de la syntaxe suivante : Units[measure] et Fixed Costs[measure].

Le processus de transformation crée la hiérarchie suivante, où Units, Discounts, Fixed Costs, Variable Costs et Revenue sont des mesures :

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

Vous pouvez créer une hiérarchie de génération de mesure (hiérarchie parent.child[measure]), de la même manière que vous créez des générations de dimensions régulières.

Par exemple, pour créer une hiérarchie de mesure, entrez Measures.profit[measure], profit.cost[measure] et cost.price[measure], ce qui produit la hiérarchie suivante :

Measures
      profit
            cost
                price

Pour créer des dimensions de mesures à partir de formules, dans l'en-tête de colonne, saisissez le nom de la dimension de mesures et ajoutez la syntaxe de formule entre crochets [ ]. Entre les crochets, utilisez le signe égal (=) au début de la formule et un point-virgule (;) à la fin de celle-ci. Les arguments dans la formule correspondent aux noms de colonne ou aux coordonnées de cellule, qui doivent être placés entre guillemets. Vous pouvez utiliser les commandes et les fonctions de calcul Essbase dans la formule.

Supposons que vous avez un fichier Excel nommé Spend_Formulas.xlsx avec des données tabulaires sur la feuille de calcul SpendHistory, qui comporte plusieurs colonnes. Par exemple, il y a des dimensions nommées Year (colonne A) et Quarter (colonne B), ainsi que des dimensions de mesures nommées Spend (colonne J) et Addressable Spend (colonne K). Ces colonnes comportent des données. Des en-têtes de colonne utilisent des formules pour créer des dimensions de mesures. Ces colonnes ne comportent pas de données. Par exemple, pour créer la dimension Total Spend, l'en-tête de la colonne O utilise la formule Essbase suivante : Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Pour créer la dimension AddSpendPercent, l'en-tête de la colonne P utilise la formule Essbase suivante : Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].

Le processus de transformation crée la hiérarchie suivante :


Image de l'aperçu de transformation des données tabulaires.

Le processus de transformation peut également identifier des dimensions de mesures lorsqu'un nom de dimension est dupliqué. Supposons que vous avez un en-tête de colonne qui utilise la formule Meas.profit[="a1"-"b1";], qui crée la dimension Meas. Si vous utilisez le nom de dimension Meas en tant que parent supérieur (par ex. Meas.Sales) dans un autre en-tête de colonne, la dimension Sales est également considérée comme une dimension de mesures.