Transformarea datelor tabelare în cuburi

Puteţi crea un cub din date tabelare extrăgând tabele de fapte dintr-o bază de date relaţională într-un fişier Excel, apoi implementând cubul.

Tiparele din relaţiile dintre anteturile coloanelor şi date sunt detectate pt. a implementa un cub multidimensional. Procesul pt. transformarea datelor tabelare într-o structură ce poate fi utilizată într-un cub multidimensional include aceste concepte:

  • Corelaţiile dintre coloane

  • Corelaţiile dintre tipurile de coloane (precum Dată, Număr şi Text)

  • Analiza textului din antet pt. prefixurile comune şi termenii corelaţi cu business intelligence (precum cost, preţ, cont)

  • Structura raportului (precum celule fuzionate şi celule goale)

  • (Opţional) Anteturi cu desemnare impusă, care sunt utilizate pt. a defini în mod explicit forma unui cub şi pot include formule pt. crearea dimensiunilor de subindicatori.

  • Ierarhii de subindicatori (care pot fi generate şi în Transformare date, din Cube Designer).

Fişierele Excel de date tabelare eşantion sunt furnizate pt. a demonstra conceptele anteturilor intrinseci şi cu desemnare impusă.

Când se lucrează cu date tabelare, trebuie să analizaţi datele înainte de a crea un cub din acestea. Apoi, după crearea cubului, trebuie să stabiliţi dacă structura cubului este aşa cum o doriţi.

Puteţi crea un cub din datele tabelare din instanţa Essbase sau în Cube Designer. Consultaţi Crearea şi actualizarea unui cub din date tabelare.

Utilizarea de anteturi intrinseci pt. a transforma datele tabelare în cuburi

Anteturile intrinseci utilizează formatul tabel.coloana, care este demonstrat în fişierul Sample_Table.xlsx. În acest fişier eşantion, anteturile coloanelor au nume precum Units, Discounts, Time.Month, Regions.Region şi Product.Brand

Procesul de transformare creează această ierarhie:

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

Utilizarea de anteturi cu desemnare impusă pt. a transforma datele tabelare în cuburi

Cu anteturile cu desemnare impusă (sugestii), puteţi specifica modul în care trebuie tratate datele tabelare pe parcursul procesului de transformare.

De exemplu, puteţi impune tratarea unei coloane ca dimensiune de subindicatori sau de atribute. Majoritatea anteturilor cu desemnare impusă necesită un cuvânt cheie între paranteze drepte [ ]. Anteturile cu desemnare impusă sunt demonstrate în şabloanele Unstr_Hints.xlsx şi şabloanele Sample_Table.xlsx (disponibile în galerie).

Formatele acceptate ale anteturilor cu desemnare impusă:

Tabelul 6-1 Formatele anteturilor cu desemnare impusă

Desemnare Format antet Exemplu

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]

Părintele de nivel zero, dacă este unic, este numele dimensiunii Cont. Dacă nu este unic, acest membru este generat automat în dimensiunea Cont.

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[+] : adunare la părinte

MeasureName[-] : scădere din părinte

MeasureName[~] : nicio consolidare (echivalent cu [measure])

Comportamentul prestabilit este fără nicio consolidare.

price.shipment[+]

Consolidarea se poate defini doar pt. dimensiunea subindicatorului

Formula consolidation

FormulaName[+=<formula>] : adunare la părinte

FormulaName[-=<formula>] : scădere din părinte

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

Coloana nu este citită.

ColumnName[skip]

column[skip]

Recur

Valoarea ultimei celule a coloanei este utilizată pt. celule goale

Recur poate fi combinată cu alte desemnări impuse; includeţi o listă separată prin virgulă de desemnări impuse, în cadrul unor paranteze drepte, ColumnName[designationA,recur].

ColumnName[recur]

Product[recur]

Product[uda,recur]

Puteţi să specificaţi coloanele pt. a fi dimensiuni de subindicatori şi puteţi utiliza formule pt. a crea dimensiuni de subindicatori cu date calculate în cursul procesului de transformare. Anteturile cu desemnare impusă pt. subindicatori şi formule pt. subindicatori sunt specificate cu numele pt. dimensiunea de subindicatori, urmat de un cuvânt cheie sau de formula care este inclusă între paranteze drepte şi adăugată la numele dimensiunii de subindicatori.

Puteţi consolida subindicatorii şi formulele şi prin adunarea lor la părinte sau prin scăderea lor din acesta.

Pentru a specifica o coloană pt. a fi dimensiune de subindicatori, în antetul coloanei, introduceţi numele dimensiunii de subindicatori, apoi adăugaţi cuvântul cheie [measure]. De exemplu, puteţi specifica coloanele Units şi Fixed Costs drept dimensiuni de subindicatori, utilizând această sintaxă: Units[measure] şi Fixed Costs[measure].

Procesul de transformare creează această ierarhie, cu Units, Discounts, Fixed Costs, Variable Costs şi Revenue ca subindicatori:

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

Puteţi crea o ierarhie de generaţii de subindicatori (ierarhia parent.child[measure]), în mod similar precum crearea generaţiilor de dimensiuni obişnuite.

De exemplu, pt. crearea unei ierarhii de subindicatori, introduceţi Measures.profit[measure], profit.cost[measure] şi cost.price[measure], care produc următoarea ierarhie:

Measures
      profit
            cost
                price

Pentru a crea dimensiuni de subindicatori din formule, în antetul coloanei, introduceţi numele dimensiunii de subindicatori, apoi adăugaţi sintaxa formulei între paranteze drepte [ ]. În cadrul parantezelor drepte, începeţi formula cu semnul egal (=) şi încheiaţi formula cu punct şi virgulă (;). Argumentele din formulă corespund numelor de coloane sau coordonatelor celulelor, care trebuie incluse între ghilimele. Puteţi utiliza funcţii de calcul şi comenzi Essbase în formulă.

Să presupunem că aveţi un fişier Excel denumit Formule_Cheltuieli.xlsx, cu date tabelare din foaia de calcul IstoricCheltuieli, care are multe coloane. De exemplu, există dimensiuni denumite An (coloana A) şi Trimestru (coloana B) şi dimensiunile de subindicatori denumite Cheltuieli (coloana J) şi Cheltuieli adresabile (coloana K). Aceste coloane au date. Apoi există anteturi de coloane care utilizează formule pt. crearea unei dimensiuni de subindicatori. Aceste coloane nu au date. De exemplu, pt. a crea dimensiunea Total cheltuieli, antetul din coloana O utilizează această formulă Essbase: Measure.Total cheltuieli[="Cheltuieli adresabile" + "Cheltuieli neadresabile";]. Pentru a crea dimensiunea ProcentajAdaugareCheltuieli, antetul din coloana P utilizează această formulă Essbase: Measure.ProcentajAdaugareCheltuieli[="Cheltuieli adresabile"/"Total cheltuieli";].

Procesul de transformare creează această ierarhie:


Imaginea previzualizării transformării datelor tabelare.

De asemenea, procesul de transformare poate identifica dimensiuni de subindicatori când un nume de dimensiune este duplicat. Să presupunem că aveţi un antet de coloană ce utilizează această formulă, Subind.profit[="a1"-"b1";], care creează dimensiunea Subind. Dacă în alt antet de coloană utilizaţi numele de dimensiune Subind ca părinte de nivel zero, precum Subind.Vanzari, dimensiunea Vanzari este considerată, de asemenea, dimensiune de subindicatori.