Comment exclure un certain membre d'un appel MDX qui récupère tous les descendants d'un membre à un niveau supérieur

StackOverflow https://stackoverflow.com/questions/148875

  •  02-07-2019
  •  | 
  •  

Question

Dans une base de données OLAP avec laquelle je travaille, il existe une hiérarchie "Emplacement" composée des niveaux Société - > Région - > Zone - > Site - > Pièce. J'utilise le MDX suivant pour obtenir tous les descendants d'un membre particulier au niveau de l'entreprise.

DESCENDANTS([Location].[Test Company],[Location].[Site], SELF_AND_BEFORE)

J'ai maintenant l'obligation d'exclure une région particulière, nommée "Redondante", du rapport. Comment puis-je changer le MDX ci-dessus pour exclure cette région particulière (et tous ses descendants)? Je sais que cette région sera appelée "Redondant". mais je ne veux coder en dur aucun des autres noms de région, car ils pourraient changer.

Était-ce utile?

La solution

La fonction EXCEPT prend un ensemble et supprime les membres dont vous ne voulez pas. Dans votre cas, vous devez dire:

EXCEPT(
{DESCENDANTS([Location].[Test Company],[Location].[Site], SELF_AND_BEFORE)},
{DESCENDANTS([Location].[Whatever].[Redundant],[Location].[Site], SELF_AND_BEFORE)}
)

Cela vous donne tout dans le premier ensemble, sauf ce que vous avez mentionné dans le second. C'est plus facile à comprendre comme ça:

EXCEPT({the set i want}, {a set of members i dont want})

Vous ne devriez pas avoir à vous soucier du troisième argument (facultatif): http: / /msdn.microsoft.com/en-us/library/ms144900.aspx

Autres conseils

Lors du retour de membres de votre hiérarchie, utilisez simplement " - " exclure un membre que vous ne voulez pas. Voici comment j'exclus les membres inconnus:

select
{[Module].[Hierarchy].[Module].Members - [Module].[Hierarchy].[Module].[Unknown]} on rows,
{[Date].[Month-day].[Day Of Month].Members - [Date].[Month-day].[Day Of Month].[Unknown]} on     columns
from [StatsView]
where {[Measures].[Maintainability Index]}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top