Question

J'utilise la fonction CurrentMember dans l'expression de CellData d'un rôle pour limiter l'accès à un cube par une dimension spécifique. Cela fonctionne comme prévu à une exception près. Même si la trancheuse imension est utilisé pour filtrer les données que le rôle n'a pas le droit de voir, la chaîne « # N / A » est affiché dans toutes les cellules.

seulement après y compris la dimension à laquelle le rôle a limité l'accès à un axe sont les valeurs de la cellule affichées comme prévu.

Il me semble que si la fonction CurrentMember ne tient pas compte de la dimension trancheuse. Est-ce le cas? Comment dois-je aborder ce problème?

Était-ce utile?

La solution

Mon conseil, en toute sincérité, est de fuir les cubes qui vous obligent à restreindre l'accès à l'aide des valeurs de cube. Là, fait, perdu trop de temps et encore fini avec une solution instable.

CERTAINEMENT ne PAS utiliser 'rôles' dans OLAP.

Autres conseils

Cela dépend comment vous faites votre demande avec les filtres. Si vous générez un sous-requête (en utilisant la zone de filtre supérieur dans SSMS ou BIDS), le CurrentMember retourne le membre Tous - c'est la façon sous-requêtes ont été conçus pour fonctionner. Si vous utilisez la requête inférieure sont SSMS ou BIDS il utilisera la clause WHERE et vous devriez voir les résultats que vous attendez.

Et vous pouvez être préférable d'utiliser l'onglet de données de dimension au lieu des données cellulaires si vous filtrez simplement par les membres de dimension.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top