Tabelgegevens tot kubussen transformeren

U kunt een kubus van tabelgegevens maken door feitentabellen uit een relationele database te extraheren naar een Excel-bestand en vervolgens de kubus te implementeren.

Patronen in de relaties tussen kolomkopteksten en -gegevens worden gedetecteerd om een multidimensionale kubus te implementeren. Het proces om tabelgegevens te transformeren naar een structuur die kan worden gebruikt in een multidimensionale kubus bevat de volgende concepten:

  • Correlaties tussen kolommen

  • Correlaties tussen typen kolommen (zoals datum, nummer en tekst)

  • Analyse van kopteksten om algemene prefixen en business intelligence-termen (zoals kosten, prijs en rekening) te vinden

  • Rapportstructuur (zoals samengevoegde cellen en lege cellen)

  • (Optioneel) Kopteksten voor afgedwongen aanduidingen die worden gebruikt om de vorm van een kubus expliciet te definiëren en die formules kunnen bevatten om eenheiddimensies te maken.

  • Eenhedenhiërarchieën (die ook kunnen worden gegenereerd in 'Gegevens transformeren' in Cube Designer).

Excel-bestanden met voorbeeldtabelgegevens worden meegeleverd om de concepten van intrinsieke kopteksten en kopteksten voor afgedwongen aanduidingen te tonen.

Wanneer u met tabelgegevens werkt, analyseert u de gegevens voordat u hiervan een kubus maakt. Nadat de kubus is gemaakt, bepaalt u of de kubusstructuur aan uw wensen voldoet.

U kunt een kubus maken op basis van tabelgegevens in de Essbase instantie of in Cube Designer. Zie voor meer informatie: Een kubus maken en bijwerken op basis van tabelgegevens.

Intrinsieke kopteksten gebruiken om tabelgegevens te transformeren naar kubussen

Voor intrinsieke kopteksten wordt de indeling 'tabel.kolom' gebruikt. Deze indeling wordt getoond in het bestandSample_Table.xlsx. In dit voorbeeldbestand hebben de kolomkopteksten namen zoals 'Units', 'Discounts', 'Time.Month', 'Regions.Region' en 'Product.Brand'.

Tijdens het transformatieproces wordt de volgende hiërarchie gemaakt:

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

Kopteksten met afgedwongen aanduidingen gebruiken om tabelgegevens te transformeren naar kubussen

Met kopteksten (hints) voor afgedwongen aanduidingen kunt u opgeven hoe tabelgegevens moeten worden verwerkt tijdens het transformatieproces.

U kunt bijvoorbeeld afdwingen dat een kolom wordt behandeld als eenheiddimensie of kenmerkdimensie. Bij de meeste kopteksten voor afgedwongen aanduidingen is een sleutelwoord tussen haakjes [ ] vereist. Kopteksten voor afgedwongen aanduidingen worden getoond in de sjablonen Unstr_Hints.xlsx en Sample_Table.xlsx (beschikbaar in de galerij).

Ondersteunde koptekstopmaak voor afgedwongen aanduidingen:

Tabel 6-1 Koptekstopmaak voor afgedwongen aanduidingen

Aanduiding Koptekstopmaak Voorbeeld

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]

Als het hoogste bovenliggende onderdeel uniek is, is dit de accountdimensienaam. Als het niet uniek is, wordt dit onderdeel automatisch gegenereerd in de accountdimensie.

Measures.profit[measure]

profit.cost[measure]

cost.price[measure]

Measures formula

MeasureName[=formulesyntaxis;]

profit[="price"-"cost";]

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

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

Measures consolidation

MeasureName[+] : optellen bij bovenliggende

MeasureName[-] : aftrekken van bovenliggende

MeasureName[~] : geen consolidatie (equivalent aan [measure])

Standaard wordt geen consolidatie gebruikt.

price.shipment[+]

Consolidatie kan alleen worden gedefinieerd voor de meeteenheiddimensie.

Formula consolidation

FormulaName[+=<formule>] : optellen bij bovenliggende

FormulaName[-=<formule>] : aftrekken van bovenliggende

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

De kolom wordt niet gelezen.

ColumnName[skip]

column[skip]

Recur

Voor lege cellen wordt de waarde van de laatste kolomcel gebruikt.

De terugkeerbewerking kan worden gecombineerd met andere afgedwongen aanduidingen. Neem tussen de haakjes een door komma's gescheiden lijst met afgedwongen aanduidingen op: 'Kolomnaam [designationA,recur]'.

ColumnName[recur]

Product[recur]

Product[uda,recur]

U kunt opgeven dat kolommen eenheiddimensies zijn en u kunt formules gebruiken om met berekende gegevens eenheiddimensies te maken tijdens het transformatieproces. De kopteksten voor afgedwongen aanduidingen van eenheden en eenheidformules geeft u op door de naam voor de eenheiddimensie te vermelden en hieraan een sleutelwoord of formule tussen vierkante haakjes toe te voegen.

U kunt eenheden en formules ook consolideren door ze op te tellen bij of af te trekken van het bovenliggende item.

Als u wilt opgeven dat een kolom een eenheiddimensie is, voert u in de kolomkoptekst de naam van de eenheiddimensie in en voegt u het sleutelwoord [measure] toe. U kunt bijvoorbeeld opgeven dat de kolommen 'Units' en 'Fixed Costs' eenheiddimensies zijn door de volgende syntaxis te gebruiken: 'Units[measure]' en 'Fixed Costs[measure]'.

Tijdens het transformatieproces wordt de volgende hiërarchie gemaakt, waarbij 'Units', 'Discounts', 'Fixed Costs', 'Variable Costs' en 'Revenue' als eenheden fungeren:

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

U kunt een grootheidgeneratiehiërarchie (parent.child[measure] hierarchy) maken op soortgelijke wijze als gewone dimensiegeneraties.

Bijvoorbeeld: als u een grootheidhiërarchie wilt maken, voert u Measures.profit[measure], profit.cost[measure] en cost.price[measure] in, waardoor de volgende hiërarchie wordt geproduceerd:

Measures
      profit
            cost
                price

Als u eenheiddimensies wilt maken door middel van formules, voert u in de kolomkoptekst de naam van de eenheiddimensie in en voegt u de formulesyntaxis tussen haakjes ([ ]) toe. Begin de formule binnen de haakjes met een gelijkteken (=) en eindig de formule met een puntkomma (;). De argumenten in de formule komen overeen met kolomnamen of celcoördinaten die tussen aanhalingstekens moeten worden geplaatst. In de formule kunt u Essbase rekenfuncties en rekenopdrachten gebruiken.

Stel dat u een Excel-bestand hebt met de naam 'Spend_Formulas.xlsx' waarvan het werkblad 'SpendHistory' een groot aantal kolommen met tabelgegevens bevat. Het bevat bijvoorbeeld de dimensies 'Year ' (kolom A) en 'Quarter' (kolom B), en de eenheiddimensies 'Spend' (kolom J) en 'Addressable Spend' (kolom K). Deze kolommen bevatten gegevens. Het bevat ook kolomkopteksten waarvoor formules worden gebruikt om eenheiddimensies te maken. Deze kolommen bevatten geen gegevens. Om bijvoorbeeld de dimensie 'Total Spend' te maken, wordt voor de koptekst in kolom O de volgende Essbase formule gebruikt: Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Om de dimensie ' AddSpendPercent' te maken, wordt voor de koptekst in kolom P de volgende Essbase formule gebruikt: Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].

Tijdens het transformatieproces wordt de volgende hiërarchie gemaakt:


Afbeelding van het voorbeeld van de tabelgegevenstransformatie

Tijdens het transformatieproces kunnen ook eenheiddimensies worden geïdentificeerd wanneer een dimensienaam dubbel voorkomt. Stel dat u een kolomkoptekst hebt waarvoor de formule 'Meas.profit[="a1"-"b1";]' wordt gebruikt om de eenheiddimensie te maken. Als u in een andere kolomkoptekst de eenheiddimensienaam als het hoogste niveau gebruikt, bijvoorbeeld 'Meas.Sales', wordt de dimensie 'Sales' ook als eenheiddimensie beschouwd.