Više o filtrima

Filtri kontroliraju sigurnost pristupa vrijednostima podataka u kocki. Filtri predstavljaju najrašireniji oblik dostupne sigurnosti.

Kad izradite filtar, određujete skup ograničenja za određene ćelije kocke ili za niz ćelija. Nakon toga filtar možete dodijeliti korisnicima ili grupama.

Vaša vlastita sigurnosna uloga određuje možete li izraditi, dodijeliti, urediti, kopirati, preimenovati ili izbrisati filtre:

  • Ako imate ulogu upravitelja aplikacija, možete upravljati bilo kojim filtrom za bilo kojeg korisnika ili grupu. Filtri ne utječu na vas.
  • Ako imate ulogu za ažuriranje baze podataka, možete upravljati filtrima za aplikacije koje ste izradili.
  • Ako imate ulogu upravitelja baze podataka, možete upravljati filtrima unutar svojih aplikacija ili kocki.
  • Ako imate ulogu za pristup bazi podataka (zadana uloga), tada imate prava za čitanje vrijednosti podataka u svim ćelijama, osim ako vaš pristup nije dodatno ograničen filtrima.

Stvaranje filtara

Možete stvoriti više filtara za kocku. Ako uredite filtar, izmjene njegove definicije nasljeđuju svi korisnici tog filtra.

Pogledajte Kontrola pristupa ćelijama baze podataka pomoću sigurnosnih filtara.

  1. Prijeđite na alat za uređivanje filtara.

    U Redwood sučelju:

    1. Na stranici Aplikacije otvorite aplikaciju, a zatim otvorite bazu podataka (kocku).
    2. Pritisnite Prilagodba i pritisnite Filtri.

    U klasičnom web-sučelju:

    1. Proširite aplikaciju na stranici Aplikacije.
    2. Na izborniku Akcije koji se nalazi desno od naziva kocke pokrenite provjeru.
    3. Odaberite karticu Filtri.
  2. Pritisnite Dodaj.
  3. Unesite naziv filtra u tekstni okvir Naziv filtra.
  4. U alatu za uređivanje filtara pritisnite Dodaj.
  5. Pritisnite na izborniku Pristup i na padajućem izborniku odaberite razinu pristupa.
    • Ništa: podaci se ne mogu dohvatiti niti ažurirati

    • Čitanje: podaci se mogu dohvatiti, ali se ne mogu ažurirati

    • Pisanje: podaci se mogu dohvatiti i ažurirati

    • MetaRead: metapodaci (nazivi dimenzija i članova) mogu se dohvatiti i ažurirati

      Razina pristupa MetaRead nadjačava sve ostale razine pristupa. Dodatni podatkovni filtri uvode se unutar postojećih MetaRead filtara. Filtriranje kombinacija članova (upotrebom odnosa I) ne primjenjuje se na razinu pristupa MetaRead. MetaRead filtri međusobno se podudaraju (upotrebom odnosa ILI).

  6. Odaberite redak pod Specifikacija člana i unesite nazive članova, a zatim pritisnite Podnesi Slika ikone za podnošenje filtra u sučelju Redwood..

    Možete filtrirati članove zasebno ili možete filtrirati kombinacije članova. Definirajte nazive dimenzija ili članova, nazive aliasa, kombinacije članova, skupove članova definiranih funkcijama ili nazive zamjenskih varijabli, kojima prethodi znak &. Višestruke unose odvojite zarezima.

  7. Po potrebi izradite dodatne retke za filtar.

    Ako se redovi filtra preklapaju ili nisu usklađeni, detaljnije specifikacije područja kocke primjenjuju se na manje detaljnim, a prava pristupa s većim dopuštenjima primjenjuju se na prava pristupa s manje dopuštenja. Ako, na primjer, korisniku za Stvarno dodijelite pristup za čitanje, a za Sij pristup za zapisivanje, korisnik će za Sij Stvarno imati pristup za zapisivanje.

  8. Pritisnite Provjeri kako biste utvrdili je li filtar valjan.
  9. Pritisnite Spremi.

Kako biste uredili filtar u Redwood sučelju, prijeđite na karticu Filtri tako da odaberete kocku, a zatim odaberite stranicu Prilagodba. Zatim uredite filtar tako da pritisnete naziv filtra te unesite promjene u alat za uređivanje filtara. Za uređivanje postojećeg retka dvaput pritisnite taj redak.

Za uređivanje filtra u klasičnom web-sučelju prijeđite na karticu Filtri u provjeri te uredite filtar tako da pritisnete naziv filtra i unesete svoje promjene u alat za uređivanje filtara.

Možete kopirati filtar, promijeniti mu naziv ili ga izbrisati tako da pritisnete izbornik Akcije koji se nalazi desno od naziva filtra te odaberete opciju.

Kad izradite filtre, dodijelite ih korisnicima ili grupama.

Stvaranje učinkovitih dinamičnih filtara

Dinamične filtre možete stvarati na temelju vanjskih izvornih podataka kako biste smanjili broj potrebnih definicija filtra.

Umjesto da za mnogo korisnika upravljate skupom sistemski kodiranih filtara za pristup podacima, možete filtrirati pristup ćelijama kocke iz vanjskih izvornih podataka na temelju naziva članova i korisničkih imena.
To možete učiniti pomoću sintakse za definiranje dinamičnog filtra, uključujući metodu @datasourceLookup te varijable $LoginUser i $LoginGroup. Vaši vanjski izvorni podaci su u obliku csv datoteke ili odnosne tablice. Ako se radi o odnosnim izvornik podacima, .csv možete učitati u odnosnu tablicu.

Sintaksa dinamičnog filtra

Sintaksom dinamičnog filtra možete stvoriti fleksibilne filtre koje možete dodijeliti različitim korisnicima i grupama.

Redci filtra mogu kao dio definicije uz izraze članova sadržavati sljedeće elemente.

$loginuser

Ta varijabla sprema vrijednost korisnika koji je prijavljen u trenutku pokretanja. Možete ju upotrebljavati u kombinaciji s metodom @datasourcelookup.

$logingroup

U ovoj varijabli sprema se vrijednost svih grupa kojima trenutačno prijavljeni korisnik pripada. Ona obuhvaća i izravne i neizravne grupe. Kad se upotrebljava zajedno s metodom @datasourcelookup, svaka grupa pojedinačno se traži u izvoru podataka.

@datasourcelookup

Ta metoda dohvaća zapise iz izvora podataka.

Sintaksa

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parametar Opis
dataSourceName

Naziv vanjskog izvora podataka koji je definiran u servisu Essbase. Za izvor podataka na razini aplikacije, nazivu pridodajte naziv aplikacije i točku.

columnName

Naziv stupca Izvor podataka za pretraživanje, za navedenu vrijednost columnValue.

columnValue

Vrijednost za pretraživanje u stupcu columnName.

returnColumnName

Naziv stupca Izvor podataka za povratak popisa vrijednosti.

Opis

Poziv @datasourcelookup ekvivalentan je sljedećem SQL upitu:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup je usmjeren prema navedenom izvoru podataka i traži zapise u kojima columnName sadrži columnValue. Ako columnValue definirate kao $loginuser, tom će se metodom pretražiti zapisi u kojima columnName sadrži ime trenutačno prijavljenog korisnika.

Essbase oblikuje redak s definicijom filtra kombinirajući elemente popisa u obliku niza razdijeljenog zarezima. Ako bilo koji zapis sadrži posebne znakove, razmake ili samo brojeve, bit će istaknuti u navodnicima.

Primjeri

Parametre stavite u znakove navodnika.

Sljedeći poziv traži globalni izvor podataka i vraća popis naziva prodavaonica u kojima je Mary voditeljica.

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

Sljedeći poziv traži izvor podataka na razini aplikacije i vraća popis naziva prodavaonica u kojima je trenutačno prijavljeni korisnik voditelj.

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

Sljedeći poziv traži izvor podataka na razini aplikacije i vraća popis naziva prodavaonica u kojima odjel prodavaonice odgovara bilo kojoj grupi kojoj pripada prijavljeni korisnik.

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

Ako prijavljeni korisnik pripada trima grupama, gore navedena metoda @datasourcelookup vratit će sve odgovarajuće vrijednosti stupaca za svaku od grupa.

Tijek rada za stvaranje dinamičnih filtara

Izradite dinamične filtre putem sljedećeg općenitog tijeka rada.

Taj tijek rada za dinamične filtre pretpostavlja kako već imate kocku te omogućene korisnike i grupe.

  1. Identificirajte izvor podataka, bila u pitanju datoteka ili odnosni izvor.
  2. Definirajte vezu i izvor podataka u servisu Essbase, globalno ili na razini aplikacije.
  3. Izradite filtre na razini kocke,
    • U Redwood sučelju prijeđite na kocku, odaberite Prilagodba, a zatim odaberite Filtri.
    • U klasičnom web-sučelju upotrijebite odjeljak Filtri u provjeri baze podataka.

  4. Definirajte retke filtara za svaki filtar pomoću sintakse dinamičkog filtra te implementirajte varijablu $loginuser, varijablu $logingroup i metodu @datasourcelookup.
  5. Dodjela filtara korisnicima ili grupama.
  6. Ako ste grupi dodijelili filtar, dodijelite grupu aplikaciji koju treba filtrirati
    • U Redwood sučelju priješite na aplikaciju, odaberite Prilagodba, a zatim odaberite Dopuštenja.
    • U klasičnom web-sučelju upotrijebite odjeljak Dopuštenja u provjeri aplikacije.

Primjer dinamičnog filtra

Sljedeći dinamični filtar možete upotrebljavati s kockom po nazivu Efficient.UserFilters, koja je u galeriji dostupna u obliku oglednog predloška.


Dinamični filtar s tri retka prijavljenom korisniku dodjeljuje pristup za meta-očitavanje.

Kako biste saznali kako stvoriti i primijeniti ovaj dinamički filtar, preuzmite predložak radne knjige Efficient_Filters.xlsx iz tehničkog odjeljka u galeriji te pratite README upute u radnoj knjizi. Galerija je dostupna u odjeljku Datoteke, u web-sučelju Essbase.