Filtre kontrollerer sikkerhetstilgang til dataverdier i en kube. Filtre er den mest detaljerte formen for sikkerhet som er tilgjengelig.
Når du oppretter et filter, kan du angi et sett med begrensninger for bestemte kubeceller eller et område med celler. Deretter kan du tilordne filteret til brukere eller grupper.
Din egen sikkerhetsrolle bestemmer om du kan opprette, tilordne, redigere, kopiere, gi nytt navn til eller slette filtre:
Du kan opprette flere filtre for en kube. Hvis du redigerer et filter, arver alle brukerne av filteret endringene i filterdefinisjonen.
Se Kontrollere tilgang til databaseceller med sikkerhetsfiltre.
Hvis du vil redigere et filter i Redwood-grensesnittet, finner du fanen Filtre ved å velge kuben og deretter velge siden Tilpasning. Rediger deretter filteret ved å klikke på filternavnet og gjøre endringene i redigeringsprogrammet for filtre. Hvis du vil redigere en eksisterende rad, dobbeltklikker du på raden.
Hvis du vil redigere et filter i det klassiske Web-grensesnittet, går du til fanen Filtre i kontrolløren og redigerer filteret ved å klikke på filternavnet og gjøre endringer i redigeringsprogrammet for filtre.
Du kan kopiere, gi nytt navn til eller slette et filter ved å klikke på menyen Handlinger til høyre for filternavnet og angi et valg.
Når du har opprettet filtre, må du tilordne dem til brukere eller grupper.
Du kan opprette dynamiske filtre basert på eksterne kildedata hvis du vil redusere antallet filterdefinisjoner som trengs.
@datasourceLookup
og variablene $LoginUser
og $LoginGroup
. De eksterne kildedataene er en CSV-fil eller en relasjonstabell. For relasjonskildedata kan du laste CSV-filen til en relasjonstabell.Bruk syntaksen for dynamiske filtre til å opprette fleksible filtre du kan tilordne til flere brukere og grupper.
Filterrader kan inneholde elementene nedenfor som en del av definisjonen i tillegg til medlemsuttrykk.
$loginuser
Denne variabelen lagrer verdien for brukeren som er pålogget under kjøring. Den kan brukes sammen med metoden @datasourcelookup
.
$logingroup
Denne variabelen lagrer verdien for alle gruppene som den påloggede brukeren tilhører. Den inkluderer både direkte og indirekte grupper. Når den brukes sammen med metoden @datasourcelookup
, blir hver enkelt gruppe slått opp enkeltvis mot datakilden.
@datasourcelookup
Denne metoden henter poster fra en datakilde.
Syntaks
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parameter | Beskrivelse |
---|---|
dataSourceName |
Navnet på den eksterne datakilden definert i Essbase. For en datakilde på applikasjonsnivå legger du til applikasjonsnavnet og et punktum som et prefiks foran navnet. |
columnName |
Navnet på datakildekolonnen for søk etter en gitt columnValue. |
columnValue |
Verdien det skal søkes etter i columnName. |
returnColumnName |
Navnet på datakildekolonnen du vil returnere en liste med verdier fra. |
Beskrivelse
Et @datasourcelookup-kall tilsvarer følgende SQL-spørring:
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup slår opp den gitte datakilden og søker etter poster der columnName inneholder columnValue. Hvis du angir columnValue som $loginuser
, søker denne metoden etter poster der columnName inneholder navnet på den påloggede brukeren.
Essbase former filterdefinisjonsraden ved å kombinere listeelementene som en kommadelt streng. Hvis en post inneholder spesialtegn, mellomrom eller bare tall, settes de i anførselstegn.
Eksempler
Sett parametrene i anførselstegn.
Følgende kall slår opp en global datakilde og returnerer en liste med navn på lagre der Mary er lagringsstyreren.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
Kallet nedenfor slår opp en datakilde på applikasjonsnivå og returnerer en liste med navn på lagre der den påloggede brukeren er lagringsstyreren.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
Kallet nedenfor slår opp en datakilde på applikasjonsnivå og returnerer en liste over navn på lagre der lageravdelingen samsvarer med én av gruppene som den påloggede brukeren tilhører.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Hvis den påloggede brukeren tilhører tre grupper, returnerer metoden @datasourcelookup
ovenfor alle de samsvarende kolonneverdiene for hver gruppe.
Bruk den generelle arbeidsflyten nedenfor til å opprette dynamiske filtre.
Denne arbeidsflyten for dynamiske filtre forutsetter at du allerede har en kube, og at du har klargjorte brukere og grupper.
I det klassiske Web-grensesnittet bruker du området Filtre i databasekontrolløren.
$loginuser
, variabelen $logingroup
og metoden @datasourcelookup
etter behov.Det dynamiske filteret nedenfor fungerer med kuben Efficient.UserFilters, som er tilgjengelig i galleriet som en eksempelmal.
Hvis du vil lære hvordan du oppretter og bruker dette dynamiske filteret, laster du ned arbeidsbokmalen Efficient_Filters.xlsx
fra delen Teknisk i galleriet og følger VIKTIG-instruksjonene i arbeidsboken. Galleriet er tilgjengelig i delen Filer i Web-grensesnittet for Essbase.