Vous pouvez créer des filtres dynamiques en fonction de données source externes afin de réduire le nombre de définitions de filtre nécessaires.
@datasourceLookup
, ainsi que les variables $LoginUser
et $LoginGroup
. Vos données source externes sont un fichier .csv ou une table relationnelle. Pour des données source 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 lignes de filtre peuvent contenir les éléments suivants dans le cadre de la définition, ainsi que des expressions de membre.
$loginuser
Cette variable stocke la valeur de l'utilisateur connecté au moment de l'exécution. Elle peut être utilisée en association 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. Lorsque vous l'utilisez conjointement à la méthode @datasourcelookup
, chaque groupe est individuellement recherché dans la source de données.
@datasourcelookup
Cette méthode extrait des 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 de niveau application, ajoutez au nom un préfixe contenant le nom de l'application et une période. |
columnName |
Nom de la colonne de source de données pour rechercher une valeur columnValue donnée. |
columnValue |
Valeur à rechercher dans columnName. |
returnColumnName |
Nom de la colonne de source de données à partir de laquelle renvoyer une liste de valeurs. |
Description
Un appel @datasourcelookup est équivalent à la requête SQL suivante :
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup recherche la source de données indiquée et recherche des enregistrements où columnName contient columnValue. Si vous spécifiez columnValue comme $loginuser
, cette méthode recherche des enregistrements où columnName contient le nom de l'utilisateur actuellement connecté.
Essbase constitue la ligne de définition de filtre en associant les éléments de liste sous la forme d'une chaîne séparée par des virgules. Si un enregistrement contient des espaces, des caractères spéciaux ou uniquement des chiffres, ils sont placés entre guillemets.
Exemples
Placez les paramètres entre guillemets.
L'appel suivant recherche une source de données globale et renvoie la liste des noms de magasin où Mary est la responsable (store manager).
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
L'appel suivant recherche une source de données de niveau application et renvoie la liste des noms de magasin où l'utilisateur actuellement connecté est le responsable (store manager).
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
L'appel suivant recherche une source de données de niveau application. Il renvoie ensuite la liste des noms de magasin où le service de magasin correspond à l'un des groupes auxquels appartient l'utilisateur connecté.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Si l'utilisateur connecté appartient à 3 groupes, la méthode @datasourcelookup
ci-dessus renvoie toutes les valeurs de colonne correspondantes pour chaque groupe.
Utilisez le workflow général suivant pour créer des filtres dynamiques.
Pour ce workflow de filtres dynamiques, il est supposé que vous avez déjà un cube, ainsi que des groupes et des utilisateurs provisionnés.
$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 savoir comment créer et appliquer ce filtre dynamique, téléchargez le modèle de classeur d'application Efficient_Filters.xlsx
dans la section Technique de la galerie et suivez les instructions README du classeur. La galerie est disponible dans la section Fichiers de l'interface Web Oracle Analytics Cloud – Essbase.