pondělí 28. února 2011

Využívání databázových funkcí přímo v BI Answers

Často se stává, že pro některé výpočty prováděné přímo v BI Answers je sortiment dostupných funkcí nedostatečný.


Od verze OBIEE 10.1.3.3 lze využít možnost vložit databázovou funkci přímo v prostředí BI Answers – a to buď nativní funkce zdrojové databáze nebo funkce zadefinované a přeložené ve zdrojové databázi.

Pro vložení funkce se používá klauzule EVALUATE zapisovaná do editačního okna „Upravit vzorec sloupců“. Syntaxe je následující: EVALUATE (‘jméno_funkce’ (%1, %2, …., %n)’, parametr_1, parametr_2, … ,parametr_n).

Příklad databázové funkce s jedním parametrem: EVALUATE('lower(%1)', ' J i Ř Í ')
Což znamená: použije se databázová funkce LOWER s jediným parametrem a tím je slovo J i Ř í .


Výsledkem je zobrazení textu j i ř í .


Příklad databázové funkce se dvěma parametry: Velmi jednoduchá databázová funkce "suma" provádí součet dvou čísel:

CREATE OR REPLACE FUNCTION suma (c1 NUMBER, c2 NUMBER)
RETURN NUMBER IS C NUMBER;

BEGIN

C:= c1 + c2;

RETURN C;

END suma;

/


Funkce byla zkompilována a uložena ve zdrojové databázi. Využijeme ji v reportu, kde se vyskytují sloupce „Rok“, „CASTKA_C“ a „CASTKA_S“ pro součet obou částek.

Zápis bude následující: EVALUATE('suma(%1,%2)', DENIK.CASTKA_C, 2*DENIK.CASTKA_S)
Což znamená : použije se databázová funkce "suma" se dvěma parametry a to sloupci DENIK.CASTKA_C a DENIK.CASTKA_S.



Výsledek je zřejmý:



Jiří Doubravský (konzultant Pike Electronic)


Žádné komentáře: