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:
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.
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.
Dinamične filtre možete stvarati na temelju vanjskih izvornih podataka kako biste smanjili broj potrebnih definicija filtra.
@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.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.
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.
U klasičnom web-sučelju upotrijebite odjeljak Filtri u provjeri baze podataka.
$loginuser
, varijablu $logingroup
i metodu @datasourcelookup
.Sljedeći dinamični filtar možete upotrebljavati s kockom po nazivu Efficient.UserFilters, koja je u galeriji dostupna u obliku oglednog predloška.
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.