Przekształcanie danych tabelarycznych w kostkę

Kostkę można utworzyć z danych tabelarycznych, ekstrahując tabele faktów z relacyjnej bazy danych do pliku Excela, a następnie wprowadzając kostkę do środowiska wykonawczego.

W celu wprowadzenia kostki wielowymiarowej są wykrywane wzorce powiązań nagłówków kolumn i zawartych w nich danych. Proces transformacji danych tabelarycznych w strukturę, która może zostać użyta w kostce wielowymiarowej, obejmuje następujące aspekty:

  • Korelacje między kolumnami

  • Korelacje między typami kolumn (np. daty, liczbowe i tekstowe)

  • Analiza tekstów nagłówkowych pod kątem wspólnych prefiksów i terminów powiązanych z analityką biznesową (takich jak koszt, cena, konto)

  • Struktura raportu (np. komórki scalane i komórki puste)

  • Opcjonalnie: Nagłówki wyznaczające, służące do jawnego definiowania postaci kostki oraz mogące zawierać formuły do tworzenia wymiarów miar

  • Hierarchie miar (mogą być także generowane za pomocą funkcji transformacji danych w narzędziu Cube Designer)

W celu zademonstrowania koncepcji nagłówków naturalnych i nagłówków wyznaczających są udostępniane przykładowe pliki Excela z danymi tabelarycznymi.

Podczas pracy z danymi tabelarycznymi należy je przeanalizować przed przystąpieniem do tworzenia z nich kostki. Następnie, po utworzeniu kostki, należy sprawdzić, czy uzyskana struktura kostki jest odpowiednia.

Kostkę można utworzyć z danych z danych tabelarycznych w instancji Essbase lub w narzędziu Cube Designer. Zob. Tworzenie i aktualizowanie kostki z danych tabelarycznych.

Używanie nagłówków naturalnych do przekształcania danych tabelarycznych w kostki

Dla nagłówków naturalnych jest używany format "tabela.kolumna", przedstawiony w pliku Sample_Table.xlsx. W tym przykładowym pliku nagłówki kolumn mają takie nazwy, jak: Units, Discounts, Time.Month, Regions.Region i Product.Brand.

W procesie transformacji jest tworzona następująca hierarchia:

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

Używanie nagłówków wyznaczających do przekształcania danych tabelarycznych w kostki

Korzystając z nagłówków wyznaczających (podpowiedzi), można określić sposób traktowania danych tabelarycznych w procesie transformacji.

Na przykład można wymusić traktowanie kolumny jako wymiaru miar lub jako wymiaru atrybutowego. Dla większości nagłówków wyznaczających trzeba podać w nawiasach kwadratowych [ ] odpowiednie słowo kluczowe. Nagłówki wyznaczające są zademonstrowane w szablonach Unstr_Hints.xlsx i Sample_Table.xlsx, dostępnych w galerii.

Obsługiwane formaty nagłówków wyznaczających:

Tabela 6-1 Formaty nagłówków wyznaczających

Wyznaczenie Format nagłówka Przykład

Dimension generation

GeneracjaNadrzędna.GeneracjaBieżąca

Category.Product

Alias

GeneracjaReferencyjna.Generacja[alias]

Year.ShortYearForm[alias]

Attribute

GeneracjaReferencyjna.NazwaWymAtrybutowego[atr]

Product.Discounted[attr]

Measures

NazwaMiary[miara]

Price[measure]

Measure generation

Rodzic.dziecko[miara]

Rodzicem najwyższego poziomu jest, jeśli jest unikatowa, nazwa wymiaru "Konto". Jeśli nie jest unikatowa, ten element jest generowany w wymiarze "Konto".

Measures.profit[measure]

profit.cost[measure]

cost.price[measure]

Measures formula

NazwaMiary[=składnia_formuły;]

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

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

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

Measures consolidation

NazwaMiary[+] : dodanie do rodzica

NazwaMiary[-] : odjęcie od rodzica

NazwaMiary[~] : bez konsolidacji (równoważne z [miara])

Ustawienie domyślne: bez konsolidacji.

price.shipment[+]

Konsolidację można definiować tylko dla wymiarów miar

Formula consolidation

NazwaFormuły[+=<formuła>] : dodanie do rodzica

NazwaFormuły[-=<formuła>] : odjęcie od rodzica

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

GeneracjaReferencyjna[uda]

Product[uda]

Skip

Kolumna nie jest odczytywana.

NazwaKolumny[skip]

column[skip]

Recur

Dla pustych komórek jest używana wartość ostatniej komórki kolumny

Powtarzanie (słowo kluczowe "recur") można łączyć z innymi wyznaczeniami; w nawiasach kwadratowych należy zawrzeć rozdzielone przecinkiem wyznaczenia, np. ColumnName[wyznaczenieA,recur].

NazwaKolumny[recur]

Product[recur]

Product[uda,recur]

Można wyznaczyć kolumny na wymiary miar oraz można używać formuł do tworzenia, w procesie transformacji, wymiarów miar z danymi obliczanymi. Nagłówki wyznaczające miary i formuły miar są określane poprzez nazwę wymiaru miar, po której następuje słowo kluczowe lub formuła, ujęte w nawiasy kwadratowe.

Można także konsolidować miary i formuły, dodając lub odejmując je do/od rodzica.

Aby wyznaczyć kolumnę na wymiar miar, należy w nagłówku kolumny wpisać nazwę wymiaru, po czym dołączyć w nawiasach kwadratowych słowo kluczowe [measure]. Na przykład można wyznaczyć kolumny Units i Fixed Costs jako wymiary miar, używając następującej składni: Units[measure] i Fixed Costs[measure].

W procesie transformacji zostanie utworzona następująca hierarchia z kolumnami Units, Discounts, Fixed Costs, Variable Costs i Revenue stanowiącymi miary:

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

Hierarchię generacji miary (hierarchia rodzic.dziecko[measure]) można utworzyć w sposób analogiczny do tworzenia generacji zwykłych wymiarów.

Na przykład, aby utworzyć hierarchię miar, można wpisać Measures.profit[measure], profit.cost[measure] i cost.price[measure], wskutek czego uzyskuje się następującą hierarchię:

Measures
      profit
            cost
                price

Aby utworzyć wymiar miar z użyciem formuły, należy w nagłówku kolumny wpisać nazwę wymiaru, po czym dołączyć w nawiasach kwadratowych [ ] wzór formuły. W nawiasach kwadratowych formuła zaczyna się znakiem równości (=), a kończy średnikiem (;). Argumenty w formule odpowiadają nazwom kolumn lub współrzędnym i muszą być ujęte w cudzysłów. W formule można używać funkcji i poleceń obliczeniowych z systemu Essbase.

Załóżmy, że mamy plik Spend_Formulas.xlsx z danymi tabelarycznymi, zapisanymi w arkuszu SpendHistory, zawierającym wiele kolumn. Na przykład są w nim dostępne kolumny Year (kolumna A) i Quarter (kolumna B) oraz wymiary miar mające nazwy Spend (kolumna J) i Addressable Spend (kolumna K). W kolumnach tych znajdują się dane. Następnie istnieją nagłówki (nagłówki kolumn), w których — w celu utworzenia wymiarów miar — są używane formuły. Kolumny te nie zawierają danych. Na przykład, aby został utworzony wymiar Total Spend, w nagłówku w kolumnie O jest używana następująca formuła Essbase: Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Z kolei, aby został utworzony wymiar AddSpendPercent, w nagłówku w kolumnie P jest używana ta formuła Essbase: Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].

W procesie transformacji jest tworzona następująca hierarchia:


Przykład transformacji danych tabelarycznych

Proces transformacji może także zidentyfikować wymiary miar, gdy nazwa wymiaru jest zduplikowana. Załóżmy, że mamy nagłówek kolumny, w którym jest używana formuła Meas.profit[="a1"-"b1";] i który tworzy wymiar Meas. Jeśli w innym nagłówku kolumny zostanie jako rodzic najwyższego poziomu użyta nazwa wymiaru Meas (na przykład Meas.Sales), to wymiar Sales będzie także traktowany jako wymiar miar.