Om filtre

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:

  • Hvis du har rollen Applikasjonsstyrer, kan du administrere alle filtre for alle brukere og grupper. Filtre påvirker ikke deg.
  • Hvis du har rollen Databaseoppdatering, kan du administrere filtre for applikasjonene du har opprettet.
  • Hvis du har rollen Databasestyrer, kan du administrere filtre i applikasjonene eller kubene.
  • Hvis du har rollen Databasetilgang (standard), har du lesetilgang til dataverdiene i alle cellene med mindre filtre begrenser tilgangen din ytterligere.

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

  1. Gå til redigeringsprogrammet for filtre.

    I Redwood-grensesnittet:

    1. Åpne applikasjonen på siden Applikasjoner, og åpne deretter databasen (kuben).
    2. Klikk på Tilpasning og deretter på Filtre.

    I det klassiske Web-grensesnittet:

    1. Utvid applikasjonen på siden Applikasjoner.
    2. Start kontrolløren fra menyen Handlinger, til høyre for kubenavnet.
    3. Velg fanen Filtre.
  2. Klikk på Legg til.
  3. Angi et filternavn i tekstboksen Filternavn.
  4. Klikk på Legg til i filterredigeringsprogrammet.
  5. Under Tilgang klikker du og bruker rullegardinmenyen til å velge et tilgangsnivå.
    • Ingen: Ingen data kan hentes eller oppdateres

    • Les: Data kan hentes, men ikke oppdateres

    • Skriv: Data kan hentes og oppdateres

    • MetaRead: Metadata (dimensjons- og medlemsnavn) kan hentes og oppdateres

      Tilgangsnivået MetaRead overstyrer alle andre tilgangsnivåer. Ytterligere datafiltre brukes i eksisterende MetaRead-filtre. Filtrering på medlemskombinasjoner (med AND-relasjoner) gjelder ikke for MetaRead. MetaRead filtrerer alle medlemmer separat (med en OR-relasjon).

  6. Velg raden under Medlemsspesifikasjon, skriv inn medlemsnavn, og klikk deretter på Send Bilde av ikonet for filtersending i Redwood..

    Du kan filtrere på medlemmer separat, eller du kan filtrere på medlemskombinasjoner. Angi dimensjons- eller medlemsnavn, aliasnavn, medlemskombinasjoner, medlemssett som defineres av funksjoner, eller navn på erstatningsvariabler, som har en foranstilt ampersand (&). Skill flere oppføringer med komma.

  7. Opprett flere rader for filteret etter behov.

    Hvis filterradene overlapper eller er i konflikt, har mer detaljerte kubeområdespesifikasjoner forrang foran mindre detaljerte, og mer omfattende tilgangsrettigheter har forrang foran dem som er mindre omfattende. Hvis du for eksempel gir en bruker lesetilgang til Faktisk og skrivetilgang til Jan, har brukeren skrivetilgang til Jan Faktisk.

  8. Klikk på Valider, og kontroller at filteret er gyldig.
  9. Klikk på Lagre.

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.

Opprette effektive dynamiske filtre

Du kan opprette dynamiske filtre basert på eksterne kildedata hvis du vil redusere antallet filterdefinisjoner som trengs.

I stedet for administrasjon av et sett med hardkodede datatilgangsfiltre for mange brukere kan du filtrere tilgang til kubeceller fra en ekstern datakilde, basert på medlems- og brukernavn.
Du gjør dette ved hjelp av syntaks for definisjon av dynamisk filter, inkludert metoden @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.

Syntaks for dynamisk filter

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.

Arbeidsflyt for opprettelse av dynamiske filtre

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.

  1. Identifiser en datakilde, enten det er en fil eller en relasjonskilde.
  2. Definer tilkoblingen og datakilden i Essbase, enten globalt eller på applikasjonsnivå.
  3. Opprett filtre på kubenivå:
    • I Redwood-grensesnittet går du til kuben, velger Tilpasning og velger deretter Filtre.
    • I det klassiske Web-grensesnittet bruker du området Filtre i databasekontrolløren.

  4. Definer filterrader for hvert filter ved å bruke syntaksen for dynamisk filter til å anvende variabelen $loginuser, variabelen $logingroup og metoden @datasourcelookup etter behov.
  5. Tilordne filtrene til brukere eller grupper.
  6. Hvis du har tilordnet filteret til en gruppe, tilordner du gruppen til applikasjonen som skal filtreres:
    • I Redwood-grensesnittet går du til applikasjonen, velger Tilpasning og velger deretter Tillatelser.
    • I det klassiske Web-grensesnittet bruker du området Tillatelser i applikasjonskontrolløren.

Eksempel på et dynamisk filter

Det dynamiske filteret nedenfor fungerer med kuben Efficient.UserFilters, som er tilgjengelig i galleriet som en eksempelmal.


Dynamisk filter med tre rader som innvilger MetaRead-tilgang til den påloggede brukeren.

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.