středa 30. května 2007

OBI EE a zpětný zápis (writeback)

Viděli jste naše demo ukazující práci s analytickým systémem? Jestliže ano, tak Vám určitě neušla ukázka zpětného zápisu dat do db přímo z reportu/dashboardu.


Ano, OBI EE umožňuje provádět zpětný zápis (writeback) dat do zdrojové databáze. Pozor, nejedná se o náhradu plánovacího/rozpočtovacího systému, ani o náhradu formulářové aplikace, na to má Oracle jiná řešení.

Využití vidíme spíše v možnosti dynamického nastavování prahových hodnot ukazatelů v reportu, korekce položek číselníků nebo tvorby jednoduchého modelování s logikou uloženou v db triggerech. Postup jak nastavit writeback najdete níže:

I/ Tvorba db tabulky, do které se bude zapisovat



II/ Tvorba BI metadat

1. Provedeme import informací o db tabulkách do fyzické vrstvy metadat



2. Upravíme Connection Pool > záložka Write Back > Owner (doplnit vlastníka db tabulek)



3. Pro tabulky, do kterých se bude zapisovat musíte vypnout "Cachování"



4. Ve fyzickém modelu nastavíme primarní klíče, cizí klíče a vazby (jestliže, existují v db, naimportují se automaticky)



5. Vybudujeme "business model" a "prezentační vrstvu" (drag&drop z fyzické vrstvy)



III/ Tvorba reportu s povoleným zpětným zápisem

6. Z připravených BI metadat vytvoříme report



7. Povolíme editační pole v tabulce - Vlastnosti sloupce > Formát sloupce > Interakce hodnoty > Zpětný zápis



8. Povolíme zpětný zápis - Všimněte si pole "Název šablony", označení sloupců v tabulce (c0 ... c4) a možnosti editace hodnot buňek




9. Uložíme report



IV/ Tvorba XML šablony pro zpětný zápis


10. Vytvoříme XML šablonu s názvem "WritebackTemplate.xml" a uložíme jí do $BI_HOME/web/app/res/CustomMessages/

XML šablona má povinnou hlavičku, web message s názvem writeback šablony (viz. krok 8), volání connection poolu pro writeback (viz. krok 2), tagy insert a update (hodnoty pro sloupce viz. krok 8). OBI EE neumožňuje vkládání nových řádků, ale insert tag je povinný! XML šablona může obsahovat více web messages.



11. Restartujeme službu Oracle BI Presentation Server a Oracle BI Server


V/ Testování

12. Současné hodnoty



13. Změna na nové



14. Nové hodnoty



15. Výpis z logu


VI/ Oprávnění

Možnost používat zpětný zápis nemá každý. Oprávnění se řídí na dvou úrovních:
  1. Na úrovni BI metadata repository - v BI Administration nastavte oprávnění na použití přímého přístupu do databáze (BI Administration > Manage > Security Manager > uzivate/skupina > Permissions > Query Limits)


  2. Na úrovni Prezentační služby - v BI Dashboadu povolte Zpětný zápis (BI Dashboards > Nastavení > Správa > Správa oprávnění > Zpětný zápis)


eec.

3 komentáře:

Anonymní řekl(a)...

Podle této opravdu podrobné "kuchařky" jsem zprovoznil a vyzkoušel nastavování limitů a budgetu ve vlastní aplikaci, jako možnou simulaci, co by se stalo, kdyby...
Všechny grafy a sestavy, závislé na těchto limitech pak ukazovaly nové hodnoty, pomocí nichž se dal vybalancovat optimální testovací budget.
Pro obdobné jednodušší případy - ideální vlastnost. Zase se to posunulo někam dopředu ...
Petr Juraszek
pjuraszek@itsys.cz

Anonymní řekl(a)...

Děkuji za vynikající návod.

Nevím kde a jak nastavím, abych moh v té tabulce nejen updatovat, ale i insertovat. Čili potřebuji v reportu něco jako prázdný řádek s inputy a tlačítkem Vložit.

Jak na to? Předem díky za odpověď.

9k

BI.DW.CZ řekl(a)...

Jak píši v článku - Pozor, nejedná se o náhradu plánovacího/rozpočtovacího systému, ani o náhradu formulářové aplikace..."!

Hlavní co v této verzi OBI umí je aktualizace hodnot a ne jejich vkládání - ale lze simulovat i to:

První způsob je, že si v tabulce dopředu předgenerujete řádky a ty poté v OBI pouze aktualizujete.

Druhý způsob je, že do UPDATE tagu v šabloně vložíte INSERT příkaz. Report pak bude obsahovat pouze jeden řádek jako INPUT BOX pro vkládání záznamu do tabulky.

E.