Affecter des filtres

Une fois les filtres définis, vous pouvez les affecter à des utilisateurs ou des groupes. Les utilisateurs de ce filtre héritent automatiquement des modifications apportées à la définition d'un filtre. Vous pouvez affecter des filtres dans MaxL ou dans l'interface Web Essbase.

Les filtres n'affectent pas les utilisateurs qui ont le rôle d'administrateur.

Remarques :

Pour affecter des filtres, des rôles doivent être affectés au niveau de l'application. Dans MaxL, les rôles d'utilisateur et de groupe au niveau de l'application sont affectés implicitement, tandis que dans l'interface Web Essbase, une affectation de rôle explicite au niveau de l'application est requise pour que vous puissiez affecter des filtres.

Affecter des filtres à l'aide de MaxL

Vous pouvez affecter des filtres dans MaxL à l'aide de l'instruction grant.

Exemple

  1. Créez un filtre nommé filter1.
    MAXL> create filter sample.basic.filter1 read on 'Jan, sales', no_access on
            '@children(Qtr2)';
  2. Autorisez l'accès aux filtres à user1.
    MAXL> grant filter sample.basic.filter1 to user1;

Affecter des filtres à l'aide de l'interface Web Essbase

Pour affecter des filtres à l'aide de l'interface Web Essbase, commencez par affecter des rôles au niveau de l'application, puis affectez les filtres.

Exemple

  1. Affectez des rôles au niveau de l'application :
    1. Sur la page Applications, ouvrez l'application.
    2. Sélectionnez la page Personnalisation.
    3. Sélectionnez l'onglet Autorisations.
    4. Cliquez sur Ajouter.

      La liste des utilisateurs et des groupes apparaît.

    5. Cliquez sur Ajouter Image de l'icône Redwood Ajouter. en regard d'un utilisateur.

      Dans cette rubrique, nous utilisons user1, un utilisateur doté du rôle Utilisateur, comme exemple.

    6. Fermez le panneau de droite en cliquant sur Fermer Image de l'icône Redwood de clôture..
  2. Créez un filtre appelé filter1 avec accès en lecture sur 'Jan, sales', aucun accès sur @children(Qtr2).
  3. Autorisez l'accès aux filtres pour user1 :
    1. Sur la page Applications, ouvrez l'application.
    2. Ouvrez le cube.
    3. Sélectionnez la page Personnalisation.
    4. Sélectionnez l'onglet Filtres.
    5. Sélectionnez filter1.
    6. Cliquez sur l'onglet Rôles.
    7. Cliquez sur Ajouter.

      La liste des utilisateurs s'affiche.

    8. Cliquez sur Ajouter Image de l'icône Redwood Ajouter. en regard d'un utilisateur1.
    9. Cliquez sur Fermer Image de l'icône Redwood de clôture..

      user1 est affiché en tant que membre de filter1.

Chevauchement des définitions de filtre

Si un filtre Essbase contient des lignes dont les spécifications de membre se chevauchent, la spécification de membre la plus détaillée est prioritaire, suivie du niveau d'accès le plus élevé.

L'accès hérité des utilisateurs affectés est défini par les règles suivantes, répertoriées par ordre de priorité :

  1. Un filtre qui définit une liste de combinaisons de dimensions plus détaillée est prioritaire sur un filtre avec moins de détails.

  2. Si la règle précédente ne résout pas le conflit de chevauchement, le niveau d'accès le plus élevé parmi les lignes de filtre qui se chevauchent est appliqué.

Par exemple, ce filtre contient des conflits de chevauchement :

  • Accès : écriture. Spécification du membre : Actual.

  • Accès : Aucun. Spécification du membre : Actual.

  • Accès : Lire. Spécification du membre : Actual, @IDESCENDANTS("New York").

La troisième spécification définit la sécurité à un niveau de détail plus élevé que les deux autres. Par conséquent, l'accès en lecture est accordé à toutes les données Actual pour les membres de la branche New York.

Etant donné que l'accès en écriture est un niveau d'accès supérieur à aucun, les valeurs de données restantes dans Actual bénéficient d'un accès en écriture.

Toutes les autres cellules, telles que Budget, sont accessibles en fonction des autorisations de base de données minimales.

Si vous disposez d'un accès en écriture, vous disposez également d'un accès en lecture.

Remarques :

Les modifications apportées aux membres dans l'outline de la base de données ne sont pas répercutées automatiquement dans les filtres. Vous devez mettre à jour manuellement les références de membre qui changent.

Chevauchement des définitions de filtre de métadonnées

Définissez un filtre MetaRead Essbase à l'aide de plusieurs lignes uniquement lorsque la liste de membres affectée d'une ligne donnée ne chevauche pas les membres MetaRead d'autres lignes. Il est recommandé d'indiquer une dimension par ligne dans les filtres qui contiennent MetaRead sur plusieurs lignes.

Toutefois, tant qu'il n'y a pas de chevauchement entre les ancêtres et les membres MetaRead, il est toujours possible de spécifier différents ensembles de membres d'une dimension dans plusieurs lignes MetaRead.

Par exemple, dans Exemple de base, la définition de filtre suivante présente des conflits de chevauchement :

  • Accès : MetaRead. Spécification du membre : California.

  • Accès : MetaRead. Spécification du membre : West.

Dans la première ligne, l'application de MetaRead à la Californie a pour effet d'autoriser l'accès à la Californie mais de bloquer l'accès à ses ancêtres. Par conséquent, l'accès MetaRead à West est ignoré ; les utilisateurs auxquels ce filtre est affecté n'auront pas accès à West.

Si vous souhaitez affecter l'accès MetaRead à West, ainsi qu'à California, la méthode appropriée consiste à les combiner en une seule ligne : Access : MetaRead. Spécification du membre : California, West.

Chevauchement des définitions d'accès

Si les filtres Essbase définissent des autorisations conflictuelles pour les utilisateurs directement par rapport aux autorisations définies pour les utilisateurs des groupes, la spécification la plus détaillée est prioritaire, suivie du niveau d'accès le plus élevé.

Lorsque les droits d'accès des définitions d'utilisateur et de groupe se chevauchent, les règles suivantes, répertoriées par ordre de priorité, s'appliquent :

  1. Un niveau d'accès qui définit une liste de combinaisons de dimensions plus détaillée est prioritaire sur un niveau avec moins de détails.

  2. Si la règle précédente ne résout pas le conflit de chevauchement, le niveau d'accès le plus élevé est appliqué.

Exemple 1:

L'utilisateur Fred est défini avec l'accès à la base de données suivant :

FINPLAN     R
CAPPLAN     W
PRODPLAN    N

Il est affecté au marketing de groupe, qui dispose de l'accès à la base de données suivant :

FINPLAN     N
CAPPLAN     N
PRODPLAN    W

Ses droits effectifs sont définis comme suit :

FINPLAN     R
CAPPLAN     W
PRODPLAN    W

Exemple 2:

L'utilisateur Mary est défini avec l'accès à la base de données suivant :

FINPLAN     R
PRODPLAN    N

Elle est affectée au marketing de groupe, qui dispose de l'accès à la base de données suivant :

FINPLAN     N
PRODPLAN    W

Ses droits effectifs sont fixés comme suit :

FINPLAN     R
PRODPLAN    W

En outre, Mary utilise l'artefact de filtre RED (pour la base de données FINPLAN). Le filtre comporte deux lignes de filtre :

  • Accès : Lire. Spécification du membre : Actual.

  • Accès : écriture. Spécification du membre : Budget, @IDESCENDANTS("New York").

Le marketing de groupe utilise également un artefact de filtre BLUE (pour la base de données FINPLAN). Le filtre comporte deux lignes de filtre :

  • Accès : Lire. Spécification du membre : Actual, Sales.

  • Accès : écriture. Spécification du membre : Budget, Sales.

Les droits effectifs de Mary à partir des filtres qui se chevauchent et les autorisations affectées à elle et à son groupe :

  • R : Base de données FINPLAN complète.

  • W : Pour toutes les données Budget de la branche New York.

  • W : pour les valeurs de données relatives à Budget et Sales.