Vous pouvez créer des filtres dynamiques basés sur des données sources externes pour réduire ainsi le nombre de définitions de filtre nécessaires.
@datasourceLookup et les variables $LoginUser et $LoginGroup. Les données sources externes sont un fichier CSV ou une table relationnelle. Pour des données sources relationnelles, vous pouvez charger le fichier .csv dans une table relationnelle.Utilisez la syntaxe de filtre dynamique pour créer des filtres flexibles que vous pouvez affecter à plusieurs utilisateurs et groupes.
Les rangées de filtre peuvent contenir les éléments suivants dans leur définition, en plus des expressions de membre.
$loginuser
Cette variable stocke la valeur de l'utilisateur actuellement connecté à l'exécution. Elle peut être utilisée avec la méthode @datasourcelookup.
$logingroup
Cette variable stocke la valeur de tous les groupes auxquels appartient l'utilisateur actuellement connecté. Elle inclut les groupes directs et indirects. Si elle est utilisée avec la méthode @datasourcelookup, chaque groupe est consulté individuellement par rapport à la source de données.
@datasourcelookup
Cette méthode extrait les enregistrements à partir d'une source de données.
Syntaxe
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
| Paramètre | Description |
|---|---|
| dataSourceName |
Nom de la source de données externe définie dans Essbase. Pour une source de données au niveau de l'application, ajoutez le nom de l'application et une période comme préfixe du nom. |
| columnName |
Nom de la colonne de la source de données pour rechercher la valeur columnValue indiquée. |
| columnValue |
Valeur à rechercher dans columnName. |
| returnColumnName |
Nom de la colonne de la source de données à partir de laquelle la liste de valeurs est retournée. |
Description
Un appel @datasourcelookup est équivalent à l'interrogation SQL suivante :
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup consulte la source de données indiquée et recherche les enregistrements dans lesquels columnName contient columnValue. Si vous spécifiez columnValue comme $loginuser, cette méthode recherche les enregistrements dans lesquels columnName contient le nom de l'utilisateur actuellement connecté.
Essbase forme la définition de filtre en combinant les éléments de la liste comme chaîne séparée par des virgules. Si un enregistrement contient des caractères spéciaux, des espaces ou uniquement des chiffres, il est automatiquement entouré par des guillemets.
Exemples
Entourez les paramètres par des guillemets.
L'appel suivant consulte une source de données globale et retourne la liste des noms de magasins, où Mary est le gestionnaire du magasin.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
L'appel suivant consulte une source de données au niveau de l'application et retourne la liste des noms de magasins, où l'utilisateur actuellement connecté est le gestionnaire du magasin.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
L'appel suivant consulte une source de données au niveau de l'application et retourne la liste des noms de magasins, où le rayon de magasin correspond à l'un des groupes auquel appartient l'utilisateur actuellement connecté.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Si l'utilisateur connecté appartient aux 3 groupes, la méthode @datasourcelookup ci-dessus retourne toutes les valeurs de colonne correspondantes pour chaque groupe.
Utilisez le flux de travail général suivant pour créer des filtres dynamiques.
Ce flux de travail de filtres dynamiques suppose que vous ayez déjà un cube et que vous ayez provisionné les utilisateurs et les groupes.
$loginuser, la variable $logingroup et la méthode @datasourcelookup, le cas échéant.Le filtre dynamique suivant fonctionne avec le cube nommé Efficient.UserFilters, disponible dans la galerie comme exemple de modèle.

Pour apprendre à créer et à appliquer ce filtre dynamique, téléchargez le modèle de classeur, Efficient_Filters.xlsx, à partir de la section Technique de la galerie, et suivez les instructions du fichier README dans le classeur. La galerie est disponible dans la section Fichiers de l'interface Web d'Essbase.