Om filtre

Filtre styrer sikkerhedsadgang til dataværdier i en kube. Filtre er den mest finkornede form for sikkerhed, der er tilgængelig.

Når du opretter et filter, angiver du et sæt begrænsninger for bestemte kubeceller eller et bestemt interval af celler. Du kan derefter tildele brugere eller grupper filteret.

Din egen sikkerhedsrolle bestemmer, om du kan oprette, tildele, redigere, kopiere, omdøbe eller slette filtre:

  • Hvis du har rollen Applikationsstyring, kan du håndtere et hvilket som helst filter for alle brugere og grupper. Du berøres ikke af filtre.
  • Hvis du har rollen Databaseopdatering, kan du håndtere filtre for de applikationer, som du har oprettet.
  • Hvis du har rollen Databasestyring, kan du håndtere filtre i dine applikationer eller kuber.
  • Hvis du har rollen Databaseadgang (standard), har du læseadgang til dataværdier i alle celler, medmindre din adgang begrænses yderligere af filtre.

Oprette filtre

Du kan oprette flere filtre for en kube. Hvis du redigerer et filter, nedarves modifikationer af dets definition til alle brugerne af det pågældende filter.

Se Styring af adgang til databaseceller ved hjælp af sikkerhedsfiltre.

  1. Naviger til filtereditoren.

    I Redwood-interfacet:

    1. Åbn applikationen på siden Applikationer, og åbn derefter databasen (kuben).
    2. Klik på Tilpasning, og klik på Filtre.

    I det klassiske webinterface:

    1. Udvid applikationen på siden Applikationer.
    2. Start fremviseren i menuen Handlinger til højre for kubenavnet.
    3. Vælg fanen Filtre.
  2. Klik på Tilføj.
  3. Indtast et filternavn i tekstfeltet Filternavn.
  4. Klik på Tilføj i filtereditoren.
  5. Klik på rullemenuen under Adgang, og vælg et adgangsniveau.
    • Ingen: Ingen data kan hentes eller opdateres

    • Læs: Data kan hentes, men ikke opdateres

    • Skriv: Data kan hentes og opdateres

    • MetaRead: Metadata (dimensions- og medlemsnavne) kan hentes og opdateres

      Adgangsniveauet MetaRead overskriver alle andre adgangsniveauer. Yderligere datafiltre gennemtvinges i eksisterende MetaRead-filtre. Filtrering af medlemskombinationer (ved hjælp af AND-relationer) anvendes ikke på MetaRead. MetaRead filtrerer hvert medlem separat (ved hjælp af en OR-relation).

  6. Vælg rækken under Medlemsspecifikation, indtast medlemsnavne, og klik derefter på Afsend Billede af Redwood-filterikonet Afsend..

    Du kan filtrere medlemmer separat, eller du kan filtrere medlemskombinationer. Angiv dimensions- eller medlemsnavne, aliasnavne, medlemskombinationer, medlemssæt, der er defineret af funktioner, eller navne på erstatningsvariabler, som har et foranstillet og-tegn (&). Adskil flere poster med komma.

  7. Opret yderligere rækker til filteret efter behov.

    Hvis filterrækkerne overlapper eller er i konflikt, har mere detaljerede specifikationer af kubeområder forrang over mindre detaljerede, og mindre strenge adgangsrettigheder har forrang over strengere adgangsrettigheder. Hvis du for eksempel giver en bruger læseadgang til Faktisk og skriveadgang til Jan, har brugeren skriveadgang til Jan Faktisk.

  8. Klik på Valider for at kontrollere, at filteret er gyldigt.
  9. Klik på Gem.

Find fanen Filtre ved at vælge kuben og derefter vælge siden Tilpasning for at redigere et filter i Redwood-interfacet. Rediger derefter filteret ved at klikke på filternavnet og foretage ændringerne i filtereditoren. Dobbeltklik i en række for at redigere en eksisterende række.

Gå til fanen Filtre i fremviseren for at redigere et filter i det klassiske webinterface, og rediger filteret ved at klikke på filternavnet og foretage ændringerne i filtereditoren.

Du kan kopiere, omdøbe eller slette et filter ved at klikke på menuen Handlinger til højre for filternavnet og angive et valg.

Efter oprettelse af filtre skal du tildele dem til brugere eller grupper.

Oprette effektive dynamiske filtre

Du kan oprette dynamiske filtre på basis af eksterne kildedata for at reducere antallet af nødvendige filterdefinitioner.

I stedet for at skulle holde styr på et sæt statisk definerede dataadgangsfiltre for mange brugere kan du dynamisk filtrere adgang til kubeceller fra eksterne kildedata på basis af medlems- og brugernavne.
Det gør du ved hjælp af syntaksen for definition af dynamiske filtre, herunder metoden @datasourceLookup og variablerne $LoginUser og $LoginGroup. Dine eksterne kildedata er en csv-fil eller en relationstabel. For relationskildedata kan du indlæse csv-filen i en relationstabel.

Syntaks for dynamiske filtre

Brug dynamisk filtersyntaks til at oprette fleksible filtre, som du kan tildele flere brugere og grupper.

Filterrækker kan ud over medlemsudtryk indeholde følgende elementer som en del af deres definition.

$loginuser

Denne variabel gemmer værdien for den bruger, der p.t. er logget på, under runtime. Den kan bruges sammen med metoden @datasourcelookup.

$logingroup

Denne variabel gemmer værdien af alle de grupper, som den bruger, der p.t. er logget på, tilhører. Den omfatter både direkte og indirekte grupper. Når den bruges sammen med metoden @datasourcelookup, bliver hver gruppe slået op individuelt i datakilden.

@datasourcelookup

Denne metode henter records fra en datakilde.

Syntaks

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parameter Beskrivelse
dataSourceName

Navnet på den eksterne datakilde, der er defineret i Essbase. Hvis det er en datakilde på applikationsniveau, skal du bruge applikationsnavnet og et punktum som præfiks.

columnName

Navnet på den datakildekolonne, hvor der skal søges efter en given columnValue.

columnValue

Den værdi, der skal søges efter i columnName.

returnColumnName

Navnet på den datakildekolonne, hvorfra der skal returneres en liste over værdier.

Beskrivelse

Et @datasourcelookup-kald svarer til følgende SQL-forespørgsel:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup slår den givne datakilde op og søger efter records, hvor columnName indeholder columnValue. Hvis du angiver columnValue som $loginuser, søger denne metode efter records, hvor columnName indeholder navnet på den bruger, der p.t. er logget på.

Essbase udformer filterdefinitionsrækken ved at kombinere listeelementerne som en kommasepareret streng. Hvis en record indeholder specialtegn/mellemrum eller kun tal, omsluttes de af anførselstegn.

Eksempler

Sæt parametrene i anførselstegn.

Følgende kald slår en global datakilde op og returnerer en liste over lagernavne, hvor Mary er lageransvarlig.

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

Følgende kald slår en datakilde på applikationsniveau op og returnerer en liste over lagernavne, hvor den bruger, der p.t. er logget på, er lageransvarlig.

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

Følgende kald slår en datakilde på applikationsniveau op og returnerer en liste over lagernavne, hvor lagerafdelingen matcher enhver af de grupper, som den bruger, der p.t. er logget på, tilhører.

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

Hvis den bruger, der er logget på, tilhører 3 grupper, returnerer ovenstående @datasourcelookup-metode alle de matchende kolonneværdier for hver gruppe.

Workflow for oprettelse af dynamiske filtre

Brug det følgende generelle workflow til oprettelse af dynamiske filtre.

Dette workflow med dynamiske filtre antager, at du allerede har en kube og provisionerede brugere og grupper.

  1. Identificer en datakilde, uanset om det er en fil eller en relationskilde.
  2. Definer forbindelsen og datakilden i Essbase, enten globalt eller på applikationsniveau.
  3. Opret filtre på kubeniveau:
    • Naviger til kuben i Redwood-interfacet, vælg Tilpasning, og vælg derefter Filtre.
    • Brug sektionen Filtre i databasefremviseren i det klassiske webinterface.

  4. Definer filterrækker for hvert filter, og anvend variablen $loginuser, variablen $logingroup og metoden @datasourcelookup ved hjælp af syntaksen for dynamiske filtre.
  5. Tildel brugere eller grupper filtrene.
  6. Hvis du har tildelt filteret til en gruppe, skal du tildele gruppen den applikation, som skal filtreres:
    • Naviger til applikationen i Redwood-interfacet, vælg Tilpasning, og vælg derefter Tilladelser.
    • Brug sektionen Tilladelser i applikationsfremviseren i det klassiske webinterface.

Eksempel på et dynamisk filter

Det følgende dynamiske filter fungerer sammen med kuben Efficient.UserFilters, der er tilgængelig i galleriet som eksempelskabelon.


Dynamisk filter med tre rækker, der giver metaread-adgang til den bruger, der er logget på.

Du kan lære at oprette og anvende dette dynamiske filter ved at downloade projektmappeskabelonen Efficient_Filters.xlsx fra sektionen Teknisk i galleriet og følge README-instruktionerne i projektmappen. Du finder galleriet i sektionen Filer i Essbase-webinterfacet.