Despre filtre

Filtrele controlează accesul de securitate la valorile de date dintr-un cub. Filtrele sunt cea mai granulară formă de securitate disponibilă.

Când creaţi un filtru, desemnaţi un set de restricţii pt. anumite celule ale cubului sau pt. un interval de celule. Puteţi asigna filtrul utilizatorilor sau grupurilor.

Propriul dvs. rol de securitate stabileşte dacă puteţi crea, asigna, edita, copia, redenumi sau şterge filtre:

  • Dacă aveţi rolul Manager aplicaţie, puteţi administra orice filtru pt. orice utilizator sau grup. Filtrele nu vă afectează pe dvs.
  • Dacă aveţi rolul Actualizare bază de date, puteţi administra filtrele pt. aplicaţiile pe care le-aţi creat.
  • Dacă aveţi rolul Manager bază de date, puteţi administra filtrele din cadrul aplicaţiilor sau cuburilor.
  • Dacă aveţi rolul Acces la baza de date (prestabilit), aveţi acces de citire la valorile de date din toate celulele, cu excepţia cazului în care accesul dvs. este restricţionat suplimentar de filtre.

Crearea filtrelor

Puteţi crea mai multe filtre pt. un cub. Dacă editaţi un filtru, modificările efectuate asupra definiţiei acestuia sunt moştenite de toţi utilizatorii filtrului respectiv.

Consultaţi Controlul accesului la celulele bazei de date utilizând filtre de securitate.

  1. Navigaţi la editorul de filtre.

    În interfaţa Redwood:

    1. Pe pagina Aplicaţii, deschideţi aplicaţia, apoi deschideţi baza de date (cubul).
    2. Faceţi clic pe Personalizare şi apoi pe Filtre.

    În interfaţa web clasică:

    1. În pagina Aplicaţii, extindeţi aplicaţia.
    2. Din meniul Acţiuni, din dreapta numelui cubului, porniţi inspectorul.
    3. Selectaţi fila Filtre.
  2. Faceţi clic pe Adăugare.
  3. Introduceţi un nume de filtru în caseta de text Nume filtru.
  4. În Editor de filtre, faceţi clic pe Adăugare.
  5. Sub Acces, faceţi clic şi utilizaţi meniul derulant pt. a alege un nivel de acces.
    • Fără: Nu pot fi preluate sau actualizate date

    • Citire: Datele pot fi preluate, dar nu actualizate

    • Scriere: Datele pot fi preluate şi actualizate

    • Metacitire: Metadatele (numele de dimensiuni şi de membri) pot fi preluate şi actualizate

      Nivelul de acces Metacitire suprascrie toate celelalte niveluri de acces. Filtrele de date suplimentare sunt impuse în cadrul filtrelor de metacitire existente. Filtrarea pt. combinaţii de membri (utilizând relaţii AND) nu se aplică metacitirii. Metacitirea filtrează fiecare membru separat (utilizând o relaţie OR).

  6. Selectaţi rândul de sub Specificaţie membru şi introduceţi numele membrilor, apoi faceţi clic pe Lansare Imagine cu pictograma Lansare filtru din Redwood..

    Puteţi filtra membrii separat sau puteţi filtra combinaţii de membri. Specificaţi nume de dimensiuni sau de membri, nume de aliasuri, combinaţii de membri, seturi de membri care sunt definite după funcţii sau nume de variabile de înlocuire, care sunt precedate de un caracter ampersand (&). Separaţi mai multe intrări cu virgulă.

  7. Creaţi rânduri suplimentare pt. filtru, după necesităţi.

    Dacă rândurile filtrelor se suprapun sau sunt în conflict, specificaţiile mai detaliate ale zonelor cubului se aplică prioritar faţă de cele mai puţin detaliate, iar drepturile de acces mai permisive se aplică prioritar faţă de cele mai puţin permisive. De exemplu, dacă acordaţi unui utilizator acces de citire la Efective şi acces de scriere la Ian, utilizatorul va avea acces de scriere la Efective Ian.

  8. Faceţi clic pe Validare pentru a vă asigura că filtrul este valid.
  9. Faceţi clic pe Salvare.

Pentru a edita un filtru în interfaţa Redwood, găsiţi fila Filtre selectând cubul şi apoi selectând pagina Personalizare. Apoi editaţi filtrul făcând clic pe numele său şi efectuând modificările dorite în editorul de filtre. Pentru a edita un rând existent, faceţi dublu clic în rândul respectiv.

Pentru a edita un filtru în interfaţa web clasică, accesaţi fila Filtre din inspector şi editaţi filtrul făcând clic pe numele său şi efectuând modificările în editorul de filtre.

Puteţi să copiaţi un filtru, să-l redenumiţi sau să-l ştergeţi, printr-un clic în meniul Acţiuni, în dreapta numelui filtrului, iar apoi prin alegerea uneia dintre opţiuni.

După crearea filtrelor, trebuie să le asignare la utilizatori sau grupuri.

Crearea de filtre dinamice eficiente

Puteţi crea filtre dinamice pe baza datelor sursă externe pt. a reduce numărul de definiţii de filtre necesare.

În loc să administraţi un set de filtre de accesare a datelor scrise în cod, pt. mulţi utilizatori, puteţi filtra accesul la celulele cubului din datele sursă externe pe baza numelor membrilor şi al utilizatorilor.
Faceţi acest lucru utilizând sintaxa definiţiei filtrelor dinamice, inclusiv metoda @datasourceLookup şi variabilele $LoginUser şi $LoginGroup. Datele dvs. sursă externe sunt un fişier .csv sau un tabel relaţional. Pentru datele sursă relaţionale, puteţi încărca fişierul .csv într-un tabel relaţional.

Sintaxa filtrelor dinamice

Utilizaţi sintaxa cu filtre dinamice pt. a crea filtre flexibile pe care să le puteţi asigna mai multor utilizatori şi mai multor grupuri.

Rândurile de filtre pot conţine următoarele elemente ca parte din definiţie, în plus faţă de expresiile pt. membri.

$loginuser

Această variabilă stochează valoarea utilizatorului conectat curent la runtime. Poate fi utilizată împreună cu metoda @datasourcelookup.

$logingroup

Această variabilă stochează valoarea tuturor grupurilor cărora le aparţine utilizatorul conectat în acel moment. Ea include şi grupuri directe, şi grupuri indirecte. Când este utilizată împreună cu metoda @datasourcelookup, fiecare grup este comparat individual cu sursa de date.

@datasourcelookup

Această metodă preia înregistrări dintr-o sursă de date.

Sintaxă

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parametru Descriere
dataSourceName

Numele sursei de date externe, definit în Essbase. Pentru o sursă de date la nivel de aplicaţie, prefixaţi numele cu numele aplicaţii şi un punct.

columnName

Numele coloanei Sursă de date, pt. a căuta o anumită columnValue.

columnValue

Valoarea de căutat în columnName.

returnColumnName

Numele coloanei Sursă de date, din care se returnează o listă de valori.

Descriere

O apelare @datasourcelookup este echivalentă cu următoarea interogare SQL:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup caută în sursa de date specificată şi caută înregistrările în care columnName conţine columnValue. Dacă specificaţi columnValue ca $loginuser, această metodă va căuta înregistrări în care columnName conţine numele utilizatorului conectat momentan.

Essbase formează rândul definiţiei filtrului prin combinarea elementelor din listă ca şir separat prin virgulă. Dacă o înregistrare conţine caractere speciale, spaţii sau doar numere, acestea sunt incluse între ghilimele.

Exemple

Includeţi parametrii între ghilimele.

Următoarea apelare caută o sursă de date globală şi returnează o listă de nume de magazine, unde Mary este managerul magazinului.

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

Următoarea apelare caută o sursă de date la nivel de aplicaţie şi returnează o listă de nume de magazine, unde utilizatorul conectat momentan este managerul magazinului.

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

Următoarea apelare caută o sursă de date la nivel de aplicaţie şi returnează o listă de nume de magazine al căror nume corespunde oricăruia din grupurile cărora le aparţine utilizatorul conectat în acel moment.

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

Dacă utilizatorul conectat în acel moment aparţine de 3 grupuri, metoda @datasourcelookup de mai sus returnează toate valorile de coloane care se potrivesc cu fiecare grup.

Workflow-ul pt. crearea filtrelor dinamice

Utilizaţi următorul workflow general pt. crearea filtrelor dinamice.

Acest workflow pt. filtre dinamice presupune că aveţi deja un cub şi aţi alocat utilizatori şi grupuri.

  1. Identificaţi o sursă de date dacă, fie că este un fişier sau o sursă relaţională.
  2. Definiţi conexiunea şi sursa de date în Essbase, fie global, fie la nivel de aplicaţie.
  3. Creaţi filtre la nivel de cub,
    • În interfaţa Redwood, navigaţi la cub, selectaţi Personalizare, apoi selectaţi Filtre.
    • În interfaţa web clasică, utilizaţi secţiunea Filtre a inspectorului bazei de date.

  4. Definiţi rânduri de filtre pt. fiecare filtru, utilizând sintaxa filtrelor dinamice pt. a utiliza variabila $loginuser, variabila $logingroup, şi metoda @datasourcelookup dacă este necesar.
  5. Asignaţi filtrele utilizatorilor sau grupurilor.
  6. Dacă aţi asignat filtrul unui grup, asignaţi grupul la aplicaţia de filtrat,
    • În interfaţa Redwood, navigaţi la aplicaţie, selectaţi Personalizare, apoi selectaţi Permisiuni.
    • În interfaţa web clasică, utilizaţi secţiunea Permisiuni a inspectorului de aplicaţii.

Exemplu de filtru dinamic

Următorul filtru dinamic funcţionează cu cubul denumit Efficient.UserFilters, disponibil în galerie ca şablon eşantion.


Filtrul dinamic cu trei rânduri ce acordă acces de metacitire pt. utilizatorul conectat.

Pentru a afla cum să creaţi şi să aplicaţi acest filtru dinamic, descărcaţi şablonul registrului de calcul, Efficient_Filters.xlsx, din secţiunea Tehnic a galeriei şi urmaţi instrucţiunile din fila README a registrului. Galeria este disponibilă în secţiunea Fişiere a interfeţei web Essbase.