Filtry

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:

  • Pokud máte roli Správce aplikace, pak můžete provádět správu veškerých filtrů pro libovolné uživatele nebo skupiny. Filtry na vás nebudou působit.
  • Pokud máte roli Aktualizace databáze, pak můžete provádět správu filtrů pro aplikace, které jste vytvořili.
  • Pokud máte roli Správce databáze, pak můžete provádět správu filtrů v aplikacích nebo krychlích.
  • Pokud máte roli Přístup k databázi (výchozí role), pak máte přístup pro čtení k hodnotám dat ve všech buňkách, pokud nemáte přístup dále omezen filtry.

Vytváření filtrů

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í.

  1. Přejděte do editoru filtrů.

    rozhraní Redwood:

    1. Na stránce Aplikace otevřete aplikaci a poté otevřete databázi (krychli).
    2. Klikněte na položku Přizpůsobení a poté na volbu Filtry.

    klasickém webovém rozhraní:

    1. Na stránce Aplikace rozbalte aplikaci.
    2. Z nabídky Akce napravo od názvu krychle spusťte inspektor.
    3. Vyberte kartu Filtry.
  2. Klikněte na tlačítko Přidat.
  3. Zadejte do pole Název filtru název filtru.
  4. V editoru filtrů klikněte na tlačítko Přidat.
  5. Klikněte dvakrát na položku Přístup a z rozevírací nabídky vyberte úroveň přístupu.
    • Žádný: Nelze načíst ani aktualizovat žádná data.

    • Čtení: Data lze načíst, ale nikoli aktualizovat.

    • Zápis: Data lze načíst i aktualizovat.

    • Metačtení: Lze načíst a aktualizovat metadata (názvy dimenzí a prvků)

      Úroveň přístupu Metačtení potlačí všechny ostatní úrovně přístupu. Další filtry dat jsou vynuceny v rámci existujících filtrů pro metačtení. Filtrování kombinací prvků (pomocí vztahů AND) se na metačtení nevztahuje. Metačtení filtruje každý prvek samostatně (pomocí vztahu OR).

  6. Vyberte řádek pod položkou Specifikace prvku a zadejte názvy prvků, poté klikněte na tlačítko Odeslat Obrázek ikony odeslání filtru v rozhraní Redwood..

    Prvky můžete filtrovat samostatně nebo můžete filtrovat kombinace prvků. Zadejte názvy dimenzí nebo prvků, názvy aliasů, kombinace prvků, sady prvků, které jsou definované funkcemi, nebo názvy substitučních proměnných, před nimiž je uveden ampersand (&). Více položek oddělte čárkami.

  7. Podle potřeby vytvořte další řádky pro filtr.

    V případě překrývání nebo konfliktů řádků filtru budou mít podrobnější specifikace oblasti krychle přednost před méně podrobnými a tolerantnější přístupová práva budou mít přednost před méně tolerantními. Pokud například poskytnete uživateli přístup Čtení pro Aktuální a přístup Zápis pro Leden, pak bude mít uživatel přístup Zápis pro Leden Aktuální.

  8. Kliknutím na tlačítko Ověřit se ujistěte, zda je filtr platný.
  9. Klikněte na tlačítko Uložit.

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.

Tvorba účinných dynamických filtrů

Dynamické filtry lze vytvářet na základě dat z externích zdrojů a omezit tak počet potřebných definicí filtrů.

Místo správy sady pevně kódovaných filtrů pro přístup k datům pro mnoho uživatelů lze filtrovat přístup k buňkám krychle z dat externího zdroje na základě názvů členů a jmen uživatelů.
Toho lze docílit pomocí syntaxe definice dynamických filtrů, včetně metody @datasourceLookup a proměnných $LoginUser$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

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.

Pracovní postup pro vytváření dynamických filtrů

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.

  1. Určete datový zdroj, ať již se jedná o soubor nebo relační zdroj.
  2. Definujte připojení a datový zdroj v aplikacích Essbase – jako globální zdroj nebo zdroj na úrovni aplikace.
  3. Vytvářejte filtry na úrovni krychle,
    • rozhraní Redwood přejděte na krychli, zvolte položku Přizpůsobení a poté vyberte volbu Filtry.
    • klasickém webovém rozhraní použijte část Filtry v inspektoru databází.

  4. Definujte řádky filtru pro jednotlivé filtry za použití syntaxe dynamického filtru, která bude podle potřeby obsahovat proměnnou $loginuser, proměnnou $logingroup a metodu @datasourcelookup.
  5. Přiřaďte filtry uživatelům nebo skupinám.
  6. Pokud jste filtr přiřadili ke skupině, přiřaďte skupinu k aplikaci, která má být filtrována,
    • rozhraní Redwood přejděte do aplikace, zvolte položku Přizpůsobení a poté vyberte volbu Oprávnění.
    • klasickém webovém rozhraní použijte část Oprávnění v inspektoru aplikací.

Příklad dynamického filtru

Následující dynamický filtr pracuje s krychlí nazvanou Efficient.UserFilters, která je dostupná v galerii ve formě vzorové šablony.


Dynamický filtr se třemi řádky, který přihlášenému uživateli uděluje přístup pro metačtení.

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.