pondělí 27. října 2008

Dva způsoby jak definovat vlastní výpočty (ukazatele) v Business modelu

Jak již bylo uvedeno v článku Oracle BI Metadata repository – IV. Tvorba vlastních ukazatelů, existují dva způsoby jak definovat vlastní výpočty (ukazatele), a to:
  1. Výpočet na základě již existujících logických sloupců (postup viz. článek výše)

  2. Výpočet na základě fyzických sloupců (postup je uveden níže)

Není jedno, který z výše uvedených způsobů použijete. Pro každý z nich je generován jiný fyzický SQL dotaz, a to v určitých případech (viz. níže) může mít vliv na správnost / nesprávnost výsledků a dokonce i na výkon samotného dotazu:
  • U výpočtů na základě již existujících logických sloupců se nejprve aplikují agregační funkce (ty, které jsou nastaveny u logických sloupců ze kterých se vychází) a až poté se provede samotný výpočet

  • U výpočtů na základě fyzických sloupců se nejprve provede výpočet a až poté se aplikuje agregační funkce



Příklad, kdy je nutné použít výpočet na základě fyzických sloupců:

Pro správný výpočet celkových tržeb se pro každý řádek nejprve vynásobí cena za kus (Unit Price) počtem prodaných kusů (Units Sold) a poté se teprve aplikuje agregační funkce SUM().


V případě použití výpočtu na základě již existujících logických sloupců, by byl výpočet celkových tržeb chybný. A to proto, že se nejprve aplikují agregační funkce SUM()

„Unit price“ je 500 + 400 + 300 = 1.200
„Units sold“ je 2 + 3 + 4 = 9

a až poté se provede vlastní výpočet, který je v tomto případě chybný: 1.200 x 9 = 10.800


Jak nadefinovat výpočet na základě fyzických sloupců

1. Vyberte faktovou tabulku > pravé tlačítko myši > New Object > Logical Column ...



2. Pojmenujte ukazatel a zvolte OK.



3. Vyberte fyzický zdroj Vaší logické tabulky a zvolte „Properties...“



4. Vyberte záložku Column Mapping (zde je vidět, jak jsou mapovány jednotlivé logické sloupce z Business Modelu na Fyzickou vrstvu) > vyberte Váš nový ukazatel a spusťte Expression Builder (stiskněte ...)



5. V Expression Builderu nadefinujte vlastní výpočet nad fyzickými sloupci a zvolte OK



6. Výpočet je zobrazen v mapování mezi Business Modelem a Fyzickou vrstvou



7. Nakonec nastavte agregační funkci pro Váš nový ukazatel a přesuňte jej do Prezentační vrstvy



Erik Eckhardt.

Žádné komentáře: