Potřebujete-li propojit více reportů do sebe s funkcionalitou předávání parametrů, pak na vybraném sloupci zdrojového reportu nastavíte „Navigaci“ odkazující se na report cílový, který na vybraných sloupcích obsahuje filtr s názvem „Obsahuje výzvu“.
Poté co uživatel klikne na hodnotu ve zdrojovém reportu je automaticky přesměrován do cílového reportu s tím, že cílový report vyfiltruje data dle zdrojových hodnot.
Vše funguje perfektně pokud pracujete v jedné cílové oblasti s identicky pojmenovanými tabulkami a sloupci (nebo aliasy), ale co když chcete propojovat reporty z úplně jiných oblastí, tabulek a jinak pojmenovaných sloupců?
Řešeních existuje několik:
1/ JavaScript GoNav
2/ URL GO API
3/ Navigace + filtr Obsahuje výzvu + pod dotaz
4/ .... určitě existují ještě další možnosti :)
1/ JavaScript GoNavJavaScript GoNav je součástí BI Presentation Services a jeho kód je umístěn v souboru viewhelper.js. Použití je celkem jednoduché, ale stejně musíte část kódu napsat ručně a také vědět co napsat - tj. nic pro business uživatele, který preferuje jednoduché klikání myší. Hlavní nevýhodou je, že GoNav umožňuje předat pouze jeden parametr!
(samozřejmě vám nic nebrání v tom, aby jste si na základě GoNav vytvořili vlastní funkci, která umožní více parametrů)Detailní popis najdete v dokumentaci Oracle BI Presentation Services Administration Guide, kapitola Navigation Using JavaScript, str. 215.
2/ URL GO APIPředávání více parametrů (v současné verzi max. 6) mezi reporty řeší URL GO API. Jeho výhodou jsou jeho možnosti, kterých je opravdu hodně - využívá se např. pro integraci Oracle BI s externí aplikací. Nevýhodou je poměrně více ručního psaní než u GoNav a také větší složitost – opět nic pro business uživatele.
Detailní popis najdete v dokumentaci Oracle BI Presentation Services Administration Guide, kapitola Passing Filters to the Oracle BI Presentation Services Go URL Through a URL (Navigation), str. 212.
3/ Navigace + filtr Obsahuje výzvu + pod dotazNedávno jsem spolu s Petrem Podbraným přišel na další možnost, která je mnohem jednodušší než ty předchozí (dá se klikat myší) a samozřejmě podporuje předávání více parametrů. Tato možnost využívá standardní Navigaci + filtr „Obsahuje výzvu“ a navíc ještě filtr založený na výsledcích jiného dotazu. Díky této kombinaci jsme schopni propojit jakékoli reporty a mezi nimi předávat hodnoty parametrů z různých cílových oblastí, tabulek a sloupců.
Jak na to a v čem je finta?V mém případě budu mít dva reporty:
- Zdrojový report nad cílovou oblastí Analýza prodeje (česká metadata), sloupce Geografie.Stát, Období.Rok a Výnosy.Výnos
- Cílový report nad cílovou oblastí Paint (anglická metadata), sloupce Markets.Market, Periods.Year a SalesMeasures.Dollars
Funkcionalita: Jakmile uživatel klikne ve zdrojovém reportu na nějakou hodnotu sloupce Období.Rok bude automaticky přesměrován do cílového reportu - hodnota sloupce Období.Rok je předána do sloupce Periods.Year, hodnota sloupce Geografie.Stát je předána do sloupce Markets.Market.
1/ Vytvořte zdrojový report a
na sloupce přes které chcete filtrovat / předávat parametry nastavte filtr „Obsahuje výzvu“ – první část finty (v mém případě sloupce pro filtr jsou Geografie.Stát a Období.Rok)
2. Vytvořte cílový report nad jinou oblastí (v mém případě nad oblastí Paint)
3. Do cílového reportu
doplňte filtr/y založené na výsledcích jiného dotazu (toho zdrojového) – druhá část finty. Filtry postupně doplňte na všechny sloupce které se mají limitovat (v mém případě na Markets.Market a Periods.Year).
a/ tvorba filtru
b/ nastavení filtru – do pole „Uložený dotaz“ vyberte Váš zdrojový report a do pole „Použít hodnoty ve sloupci“ vyberte sloupec přes který chcete reporty svázat (v mém případě Periods.Year = Období.Rok).
c/ dle potřeby přidejte další filtry (v mém případě Markets.Market = Geografie.Stát)
Poznámka: menší nevýhoda toho řešení je v tom, že když cílový report spustíte samostatně tak obsahuje pouze informace za danou podmínku – tj. pouze ty řádky, které jsou totožné se zdrojovým reportem!
4. Otevřete zdrojový report a na sloupec přes který se bude navigovat doplňte Navigaci na cílový report.
Výsledkem je propojení dvou reportů s předáváním parametrů mezi různými oblastmi, tabulkami a sloupci:
Erik Eckhardt.