martedì 19 giugno 2012

Nascondere i fogli in base all'accesso utente

Con QlikView, in base all'accesso utente, è possibile decidere quali fogli visualizzare/nascondere. Questa gestione può essere fatta per gruppi di utenti (ad esempio raggruppando gli accessi in base ad una categoria di utenti tipo : Direzione, Amministrativi, Capi Area, Agenti, ecc..).

E'possibile anche autorizzare la visualizzazione dei fogli anche in base ad account di accesso specifici (singolo utente) oppure tramite una combinazione singolo utente + gruppo utenti. Utilizzando gli operatori logici AND, OR, NOT è possibile "costruire" una qualsiasi combinazione di visualizzazione.

Proviamo a vedere con un semplice esempio, passo dopo passo, come è possibile questa gestione con QlikView (scarica il documento QlikView).

Procedura guidata
  • Avviare QlikView
  • Creare un nuovo documento QlikView (Ctrl+N)
  • Fare click su "Annulla" per abbandonare la procedura guidata
  • Entrare nello script (Ctrl+E)
  • Copiare e incollare il codice che segue



SECTION ACCESS;

Utenti:
LOAD 
    *
INLINE 
    [ACCESS,USERID,PASSWORD,IDGRUPPO
     'ADMIN', 'A', 'A', 'DIR'
     'ADMIN', 'B', 'B', 'AGE'
     'ADMIN', 'C', 'C', 'AGE'
     'USER',  'X', 'X', 'AMM'
     'USER',  'Z', 'Z', 'AMM'];


SECTION APPLICATION;

GruppiUtenti:
LOAD
    *
INLINE
    [IDGRUPPO, GruppoUtente
     'DIR', 'DIREZIONE'
     'AGE', 'AGENTI'
     'AMM', 'AMMINISTRATIVI']

 
Codice da inserire nello script
  • Fare click su "Conferma" per chiudere l'editor dello script
  • Salvare il documento QlikView
  • Creare un nuovo foglio con etichetta "DIREZIONE" e nelle proprietà del foglio abilitare la visualizzazione condizione
  • Inserire come espressione della funzione condizionale il codice come evidenziato nella figura che segue
Proprietà del foglio DIREZIONE
  • Creare un nuovo foglio con etichetta "AMMINISTRAZIONE" e nelle proprietà del foglio abilitare la visualizzazione condizione
  • Inserire come espressione della funzione condizionale il codice seguente : =(IDGRUPPO = 'AMM')
  • Creare un nuovo foglio con etichetta "UTENTE C" e nelle proprietà del foglio abilitare la visualizzazione condizione
  • Inserire come espressione della funzione condizionale il codice seguente : =(QvUser() = 'C')
  • Entrare nelle proprietà del documento (Ctrl+Alt+D), scheda "Apertura" e spuntare la voce "Selezione Iniziale basata sul Controllo Accessi" (NOTA : Per questa demo utilizzeremo questa impostazione. In fase di rilascio di cruscotti ufficiale spuntare la voce "Riduzione iniziale dei dati basata sul Controllo Accessi". La selezione di una delle due voci esclude automaticamente l'altra)

Proprietà del documento > Apertura
  • Eseguire il reload del documento (Ctrl+R)
  • Quando il reload è stato completato salvare il documento (Ctrl+S)
  • In un foglio sempre visibile inserie una casella di elenco con il campo IDGruppo, una per il campo GrruppoUtente e una casella delle selezioni correnti.
  • Salvare il documento (Ctrl+S)  e chiudere il programma QlikView (Alt+F4)
  • Avvire QlikView ed aprire il documento. Alla richiesta delle credenziali di accesso inserire come nome utente A e come password A
  • Poichè l'utente A appartiene al gruppo DIREZIONE verrà visualizzato il relativo foglio ma nn saranno visibili AMMINISTRAZIONE e UTENTE C
  • Provare a chiudere QlikView, riavviarlo, aprire il documento ed accedere con gli altri account (A, B, C, X). Ad ogni accesso si vedranno solo i fogli abilitati in base al gruppo utente e/o al nome utente QlikView.

E'possibile scrivere esprressioni più complesse con criteri multipli, ad esempio :

=(IDGRUPPO = 'DIR' OR (IDGRUPPO='AMM' AND Not(QvUser()='Z')) OR QvUser()='C')

Questa epressione permette la visualizzazione del foglio agli utenti del gruppo direzione, amministrazione (con l'esclusione dell'utente Z) e anche all'utente C (appartenente a qualsiasi gruppo).

Nessun commento:

Posta un commento