Filtry řídí zabezpečený přístup k hodnotám dat v krychli. Filtry jsou nejdetailnější dostupnou formou zabezpečení.
Při vytváření filtru určíte sadu omezení pro určité buňky krychle nebo pro rozsah buněk. Filtr můžete přiřadit uživatelům nebo skupinám.
Vaše vlastní role zabezpečení určuje, zda můžete vytvářet, přiřazovat, upravovat, kopírovat, přejmenovávat nebo odstraňovat filtry:
Pro krychli můžete vytvořit více filtrů. Pokud upravíte filtr, změny provedené v jeho definici se projeví u všech uživatelů tohoto filtru.
Prostudujte si téma Řízení přístupu k buňkám databáze pomocí filtrů zabezpečení.
Chcete-li upravit filtr v rozhraní Redwood, vyhledejte kartu Filtry výběrem krychle a poté výběrem stránky Přizpůsobení. Poté filtr upravte kliknutím na název filtru a provedením požadovaných změn v editoru filtrů. Chcete-li upravit již vytvořený řádek, dvakrát na něj klikněte.
Chcete-li upravit filtr v klasickém webovém rozhraní, přejděte na kartu Filtry v inspektoru a upravte filtr kliknutím na název filtru a provedením změn v editoru filtrů.
Filtr můžete kopírovat, přejmenovat nebo odstranit kliknutím na nabídku Akce napravo od názvu filtru a výběrem příslušné volby.
Po vytvoření filtrů přiřadit uživatelům nebo skupinám.
Dynamické filtry lze vytvářet na základě dat z externích zdrojů a omezit tak počet potřebných definicí filtrů.
@datasourceLookup
a proměnných $LoginUser
a $LoginGroup
. Externím zdrojem dat je soubor CSV nebo relační tabulka. Pro relační zdroj dat lze načíst soubor .csv do relační tabulky.Syntaxe dynamického filtru se používá k vytváření flexibilních filtrů, které můžete přiřadit více uživatelům a skupinám.
Řádky filtru mohou jako součást definice obsahovat kromě výrazů prvků také následující prvky.
$loginuser
Do této proměnné se ukládá hodnota uživatele aktuálně přihlášeného do běhového prostředí. Umožňuje použití společně s metodou @datasourcelookup
.
$logingroup
Tato proměnná ukládá hodnotu všech skupin, ke kterým patří aktuálně přihlášený uživatel. Zahrnuje jak přímé, tak nepřímé skupiny. Při použití společně s metodou @datasourcelookup
jsou v datovém zdroji individuálně vyhledány jednotlivé skupiny.
@datasourcelookup
Tato metoda načítá záznamy z datového zdroje.
Syntaxe
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parametr | Popis |
---|---|
dataSourceName |
Název externího datového zdroje definovaný v aplikacích Essbase. U názvu datového zdroje na úrovni aplikace použijte jako předponu název aplikace a tečku. |
columnName |
Název sloupce datového zdroje pro vyhledávání zadané hodnoty columnValue. |
columnValue |
Hodnota pro vyhledání v proměnné columnName. |
returnColumnName |
Název sloupce datového zdroje, ze kterého se má vrátit seznam hodnot. |
Popis
Volání @datasourcelookup odpovídá následujícímu dotazu SQL:
select returnColumnName from dataSourceName where columnName=columnValue
Metoda @datasourcelookup prohledává určený datový zdroj a hledá záznamy, ve kterých proměnná columnName obsahuje proměnnou columnValue. Pokud jako proměnnou columnValue určíte hodnotu $loginuser
, tato metoda vyhledá záznamy, ve kterých proměnná columnName obsahuje jméno aktuálně přihlášeného uživatele.
Aplikace Essbase vytvářejí řádek s definicemi filtru tak, že kombinují prvky seznamu do podoby řetězce odděleného čárkami. Pokud jakýkoli záznam obsahuje speciální znaky, mezery nebo pouze čísla, jsou ohraničeny uvozovkami.
Příklady
Parametry ohraničte uvozovkami.
Následující volání prohledá globální datový zdroj a vrátí seznam názvů obchodů, ve kterých jako manažerka prodejny pracuje žena jménem Marie.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
Následující volání prohledá datový zdroj na úrovni aplikace a vrátí seznam názvů obchodů, ve kterých je aktuálně přihlášený uživatel manažerem prodejny.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
Následující volání prohledá datový zdroj na úrovni aplikace a vrátí seznam názvů obchodů, ve kterých oddělení obchodu odpovídá libovolné ze skupin, ke kterým patří přihlášený uživatel.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Pokud přihlášený uživatel patří do 3 skupin, pak výše uvedená metoda @datasourcelookup
vrátí všechny odpovídající hodnoty sloupců pro každou z těchto skupin.
Při vytváření dynamických filtrů použijte následující obecný pracovní postup.
Tento pracovní postup pro dynamické filtry předpokládá, že již máte krychli a ustanovené uživatele a skupiny.
V klasickém webovém rozhraní použijte část Filtry v inspektoru databází.
$loginuser
, proměnnou $logingroup
a metodu @datasourcelookup
.Následující dynamický filtr pracuje s krychlí nazvanou Efficient.UserFilters, která je dostupná v galerii ve formě vzorové šablony.
Pokud se chcete dozvědět, jak vytvořit a použít tento dynamický filtr, stáhněte si šablonu sešitu Efficient_Filters.xlsx
ze sekce Technické v Galerii a postupujte podle pokynů na listu README v sešitu. Galerie je dostupná v oblasti Soubory webového rozhraní aplikace Essbase.