Aby byly datové zdroje flexibilnější, můžete do dotazu implementovat běhové parametry programu, které datovému zdroji umožní používat proměnné.
Mohou to být substituční proměnné definované v databázi Essbase, běhové parametry programu definované kontextem mřížky, když uživatelé Smart View procházejí externí data, nebo uživatelsky definované funkce napsané v externím zdrojovém systému.
Kdykoli plánujete používat proměnné v datových zdrojích Essbase, je nejprve nutné
Zahrnout syntaxi proměnných do dotazu na datový zdroj. Například dotaz na datový zdroj musí ve své syntaxi obsahovat ?
, kde ?
je zástupce pro nějakou proměnnou, která bude definována za běhu programu.
Proveďte některou z následujících akcí:
Nastavení pevné hodnoty výchozí parametr v datovém zdroji pro Essbase, která se použije jako záloha v případě, že proměnná má za běhu programu neplatný kontext, NEBO
Předání externí, uživatelem definované funkce (nebo uložené procedury) jako parametru
Abyste mohli definovat datové zdroje a implementovat pro ně parametry, musíte být na úrovni správce aplikací nebo vyšší.
Povolení používání proměnných v datových zdrojích Essbase pomáhá zefektivnit operace tím, že vyžaduje méně datových zdrojů k údržbě. Implementace proměnných do datových zdrojů umožňuje určit kontext dotazu za běhu programu, který se použije vždy, když uživatel používá datový zdroj spojený s krychlí Essbase.
Předpokládejme například následující případy užití.
Správce databáze dohlíží na opakující se úlohu načítání dat, která každý měsíc načítá data do krychle. Správce databáze nyní může použít substituční proměnnou k načtení dat pro aktuální měsíc namísto udržování pravidla načítání pro každý měsíc.
Správce aplikací udržuje definice sestav procházení pro různé obchodní případy užití. Správce aplikací implementuje proměnné do základního datového zdroje, ze kterých uživatelé nástroje Smart View čerpají při operacích procházení. Díky tomu má správce aplikací k dispozici méně definic sestav procházení, které musí udržovat a ladit.
Pokud chcete povolit použití proměnných v dotazech, které generuje Essbase při práci s daty uloženými mimo krychli, nastavte výchozí parametr v datovém zdroji.
Nastavení výchozího parametru,
Získejte nebo vytvořte připojení k externímu zdroji dat (například vytvořte připojení k databázi Oracle).
Můžete použít globální připojení, pokud již existuje na stránce Zdroje webového rozhraní Essbase, nebo můžete vytvořit připojení na úrovni aplikace.
Vytvořte datový zdroj nad připojením, které budete používat pro přístup k databázi Oracle.
Datový zdroj můžete definovat globálně, pokud má být dostupný všem aplikacím, nebo jej můžete definovat na úrovni aplikace.
Chcete-li vytvořit globální datový zdroj, musíte být správce služeb. Klikněte na položku Zdroje, poté na kartu Datové zdroje pod svým uživatelským jménem a nakonec na volbu Vytvořit datový zdroj.
Nebo chcete-li vytvořit datový zdroj na úrovni aplikace, musíte být správce aplikací nebo uživatel s rolí Power User a mít oprávnění ke správě aplikace pro příslušnou aplikaci. Na kartě Aplikace klikněte na název aplikace. Poté klikněte na položku Zdroje a kartu Datové zdroje pod svým uživatelským jménem a nakonec na volbu Vytvořit datový zdroj.
V kroku Obecné v poli Připojení vyberte vytvořené připojení k databázi Oracle.
V poli Název zadejte název datového zdroje.
V poli Dotaz zadejte dotaz (v tomto příkladu se používá SQL). Aby se jednalo o parametrizovaný dotaz, musíte zahrnout podmínku filtru (klauzuli WHERE), která namapuje relační sloupec ve zdroji na zástupný symbol. Pozici proměnné uvedete v syntaxi dotazu pomocí zástupného symbolu ?. Zástupný symbol je určen pro parametr, který předáte v pozdějším kroku.
select * from SB_DT where DIMENSION_YEAR=?
Předpokládejme například, že vaše relační databáze má následující tabulku s názvem SB_DT. Tabulka má sloupec DIMENSION_YEAR s hodnotami měsíců:
Chcete-li použít proměnnou pro výběr hodnot měsíce ze sloupce DIMENSION_YEAR, použijte v dotazu následující syntaxi filtru: where DIMENSION_YEAR=?
Klikněte na tlačítko Další.
V kroku Sloupce použijte příslušný datový typ, který má systém Essbase přiřadit každému sloupci z vašich relačních zdrojových dat.
Například číselné sloupce nastavte na typ Double a alfanumerické sloupce ponechte jako typ String.
Klikněte na tlačítko Další.
V kroku Parametry je vytvořen Param1 - tento parametr existuje, protože jste v dotazu v kroku Obecné použili symbol ?.
Ponechte pole Používat proměnné nezaškrtnuté, dvakrát klikněte na textové pole pod položkou Hodnota a zadejte výchozí hodnotu parametru běhu programu. Účelem této výchozí hodnoty je, aby ji systém Essbase použil jako nouzové řešení v případě, že parametr má za běhu programu neplatný kontext. Tento krok je důležitý, pokud máte v úmyslu používat parametry běhu programu jako součást definic sestavy.
Param1 můžete také přejmenovat na název, který je pro váš případ užití smysluplný. Můžete jej například přejmenovat na param_G_month, abyste naznačili, že parametr používá globální proměnnou pro aktuální měsíc, nebo jej můžete přejmenovat na param_<appName>_month, abyste naznačili, že parametr používá proměnnou na úrovni aplikace pro aktuální měsíc. Přizpůsobení názvů parametrů může být užitečné při ladění parametrů pomocí souborů protokolu serveru Essbase.
Pokud chcete parametr přizpůsobit tak, aby odkazoval na substituční proměnnou, nemusíte zadávat výchozí hodnotu. Místo tohoto tématu si přečtěte článek Použití substitučních proměnných v datovém zdroji.
Klikněte na tlačítko Další.
V okně Náhled si všimněte, že na váš dotaz byl použit výchozí parametr. V důsledku toho je náhled vyplněn pouze záznamy externích zdrojů, ve kterých má sloupec DIMENSION_YEAR hodnotu Leden.
Ačkoli náhled zobrazoval pouze hodnoty s použitým výchozím parametrem, později, když implementujete parametry běhu programu pro definici sestavy, budete mít přístup k více externím datům, než která byla viditelná v náhledu.
Kliknutím na Vytvořit vytvoříte datový zdroj na základě tohoto dotazu na externí zdrojová data. Datový zdroj je povolen pro implementaci parametrů běhu programu.
Následující pracovní postup ukazuje, jak vytvořit datový zdroj Essbase z dotazu na externí zdrojová data pomocí substituční proměnné definované v systému Essbase. Substituční proměnná zvyšuje flexibilitu při navrhování dotazu, který čerpá ze zdrojových dat.
V tomto příkladu použijete substituční proměnnou v systému Essbase k deklaraci aktuálního měsíce. Namísto měsíční aktualizace datových zdrojů, aby se do nich načítala data za aktuální měsíc, můžete datové zdroje nechat být a aktualizovat pouze vámi definovanou substituční proměnnou.
Vytvořte globální nebo aplikační úroveň substituční proměnná.
Získejte nebo vytvořte připojení k externímu zdroji dat (například vytvořte připojení k databázi Oracle).
Můžete použít globální připojení, pokud již existuje na stránce Zdroje webového rozhraní Essbase, nebo můžete vytvořit připojení na úrovni aplikace.
Vytvořte datový zdroj nad připojením, které budete používat pro přístup k databázi Oracle.
Datový zdroj můžete definovat globálně, pokud má být dostupný všem aplikacím, nebo jej můžete definovat na úrovni aplikace.
V kroku Obecné v poli Připojení vyberte vytvořené připojení k databázi Oracle.
V poli Název zadejte název datového zdroje.
V poli Dotaz zadejte dotaz (v tomto příkladu se používá SQL). Aby se jednalo o parametrizovaný dotaz, musíte zahrnout podmínku filtru (klauzuli WHERE), která namapuje relační sloupec ve zdroji na zástupný symbol. Pozici proměnné uvedete v syntaxi dotazu pomocí zástupného symbolu ?
. Zástupný symbol je určen pro parametr, který předáte v pozdějším kroku.
select * from SB_DT where DIMENSION_YEAR=?
Předpokládejme například, že vaše relační databáze má následující tabulku s názvem SB_DT. Tabulka má sloupec DIMENSION_YEAR s hodnotami měsíců:
Chcete-li použít proměnnou pro výběr hodnot měsíce ze sloupce DIMENSION_YEAR, použijte v dotazu následující syntaxi filtru: where DIMENSION_YEAR=?
Klikněte na tlačítko Další.
V kroku Sloupce použijte příslušný datový typ, který má systém Essbase přiřadit každému sloupci z vašich relačních zdrojových dat.
Například číselné sloupce nastavte na typ Double a alfanumerické sloupce ponechte jako typ String.
Klikněte na tlačítko Další.
V kroku Parametry je vytvořen Param1 - tento parametr existuje, protože jste v dotazu v kroku Obecné použili ?
. Chcete-li upravit Param1 tak, aby odkazoval na substituční proměnnou, klikněte na Použít proměnné a vyberte substituční proměnnou z rozevíracího seznamu Hodnota.
Pokud vytváříte datový zdroj v rámci aplikace, je možné vybrat globální substituční proměnné i substituční proměnné na úrovni aplikace. Proměnné na úrovni aplikace mají předponu s názvem aplikace. Pokud vytváříte globální datový zdroj, jsou k dispozici pouze globální substituční proměnné.
Param1 můžete přejmenovat na název, který je pro váš případ užití smysluplný. Můžete jej například přejmenovat na param_G_month, abyste naznačili, že parametr používá globální proměnnou pro aktuální měsíc, nebo jej můžete přejmenovat na param_<appName>_month, abyste naznačili, že parametr používá proměnnou na úrovni aplikace pro aktuální měsíc. Přizpůsobení názvů parametrů může být užitečné při ladění parametrů pomocí souborů protokolu serveru Essbase.
Klikněte na tlačítko Další.
V okně Náhled si všimněte, že na váš dotaz je použita substituční proměnná. V důsledku toho je náhled vyplněn pouze záznamy externích zdrojů, ve kterých má sloupec DIMENSION_YEAR hodnotu Srpen.
Kliknutím na Vytvořit vytvoříte datový zdroj na základě tohoto dotazu na externí zdrojová data.