Vous pouvez créer un cube à partir de données tabulaires en extrayant des tables de faits à partir d'une base de données relationnelle dans un fichier Excel et en déployant ensuite le cube.
Des modèles de relations entre les en-têtes de colonne et les données sont détectés pour déployer un cube multidimensionnel. Le processus de transformation des données tabulaires en une structure qui peut être utilisée dans un cube multidimensionnel inclut les concepts suivants :
Corrélations entre colonnes
Corrélations entre types de colonne (par exemple, date, nombre et texte)
Analyse de texte d'en-tête pour les préfixes et les termes d'intelligence d'affaires communs (par exemple, coût, prix, compte)
Structure de rapport (par exemple, cellules fusionnées et cellules vides)
(Facultatif) En-têtes à désignation forcée utilisés pour définir explicitement la forme d'un cube et pouvant inclure des formules pour créer des dimensions de mesure.
Hiérarchies de mesures (qui peuvent également être générées dans la boîte de dialogue Transformer les données du concepteur de cube).
Des exemples de fichiers Excel de données tabulaires sont fournis pour démontrer les concepts d'en-têtes intrinsèques et à désignation forcée.
Lorsque vous utilisez des données tabulaires, vous devez analyser les données avant de créer un cube à partir de ces données. Puis une fois que le cube est créé, vous devez déterminer si la structure de cube est telle que vous la souhaitez.
Vous pouvez créer un cube à partir de données tabulaires dans l'instance Essbase ou dans le concepteur de cube. Voir Créer et mettre à jour un cube à partir de données tabulaires.
Les en-têtes intrinsèques utilisent le format table.colonne, présenté dans le fichier Sample_Table.xlsx
. Dans cet exemple de fichier, les en-têtes de colonne ont des noms comme Units (Unités), Discounts (Remises), Time.Month (Temps.Mois), Regions.Region (Régions.Région) et Product.Brand (Produit.Marque).
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 ...
Avec les en-têtes à désignation forcée (indicateurs), vous pouvez spécifier le traitement des données tabulaires lors du processus de transformation.
Par exemple, vous pouvez forcer une colonne a être traitée comme une dimension de mesure ou d'attribut. 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 démontré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 supérieur, si unique, est le nom de la dimension du compte. Si le noeud n'est pas unique, ce membre est généré automatiquement dans la dimension du 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 (équivalent à [measure]) Par défaut, il n'y a aucune consolidation. |
price.shipment[+] La consolidation peut seulement être définie pour la 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 dernière valeur de cellule de la colonne est utilisée pour les cellules vides Recommencer peut être combiné avec d'autres désignations forcées; inclure une liste de désignations forcées entre crochets séparées par des virgules, ColumnName[designationA,recur]. |
ColumnName[recur] |
Product[recur] Product[uda,recur] |
Vous pouvez spécifier que des colonnes soient des dimensions de mesure et vous pouvez utiliser des formules pour créer des dimensions de mesure avec des données calculées lors du processus de transformation. Les en-têtes à désignation forcée de mesure et de formules de mesure sont spécifiés avec le nom de la dimension de mesure, suivi d'un mot clé ou d'une formule entre crochets et ajouté au nom des dimensions de formule.
Vous pouvez également consolider des mesures et des formules en les ajoutant au parent ou en les en soustrayant.
Pour spécifier qu'une colonne est une dimension de mesure, dans l'en-tête de colonne, vous entrez le nom de la dimension de mesure et vous ajoutez le mot clé [measure]. Par exemple, vous pouvez spécifier que les colonnes Units (Unités) et Fixed Costs (Coûts fixes) soient des dimensions de mesure en utilisant la syntaxe suivante : Units[measure] et Fixed Costs[measure].
Le processus de transformation crée cette hiérarchie avec Units (Unités), Discounts (Remises), Fixed Costs (Coûts fixes), Variable Costs (Coûts variables) et Revenue (Revenus) comme 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érations de mesure ( parent.child[measure] ), d'une manière similaire à la création des générations de dimension normales.
Par exemple, pour créer une hiérarchie de mesures, vous 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, vous entrez le nom de la dimension de mesure et vous ajoutez la syntaxe de la formule entre crochets [ ]. Entre les crochets, commencez la formule avec le signe égal (=) et terminez-la avec un point-virgule (;). Les arguments de la formule correspondent à des noms de colonne ou des coordonnées de cellule, qui doivent être entre guillemets. Vous pouvez utiliser les fonctions et commandes de calcul Essbase dans la formule.
Supposez que vous ayez un fichier Excel nommé Spend_Formulas.xlsx avec des données tabulaires dans la feuille de travail SpendHistory, qui comporte de nombreuses colonnes. Par exemple, il y a des dimensions nommées Year (Année) (colonne A) et Quarter (Trimestre) (colonne B), et des dimensions de mesure nommées Spend (Dépenses) (colonne J) et Addressable Spend (Dépenses adressables) (colonne K). Ces colonnes comportent des données. Puis certains en-têtes de colonne utilisent des formules pour créer des dimensions de mesure. Ces colonnes ne comportent pas de données. Par exemple, pour créer la dimension Total Spend (Total des dépenses), l'en-tête dans la colonne O utilise cette formule Essbase : Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Pour créer la dimension AddSpendPercent, l'en-tête dans la colonne P utilise cette formule Essbase : Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].
Le processus de transformation crée la hiérarchie suivante :
Le processus de transformation peut également identifier des dimensions de mesure lorsqu'un nom de dimension est dupliqué. Supposez que vous ayez un en-tête de colonne qui utilise la formule Meas.profit[="a1"-"b1";], qui crée la dimension Meas. Si, dans un autre en-tête de colonne, vous utilisez le nom de dimension Meas comme premier parent, par exemple Meas.Sales, la dimension Sales (Ventes) est également considérée comme une dimension de measure.