Afin de disposer des propriétés ParentUniqueName ou Level dans les rapports de SSRS, il peut être utile de formuler sa requête MDX comme suit.
En effet dans le cas de dimensions parent-enfant SSRS arrive à communiquer avec SSAS pour obtenir ces infos. Pour toutes les autres dimensions cela ne fonctionne pas, et l'utilisation de cette syntaxe permet de contourner ce manque et de disposer des propriétés attendues. Pour certains rapports tordus cela peut être bien utile!
WITH
MEMBER [Measures].[UniqueName] as axis(1).item(0).item(0).hierarchy.currentmember.uniquename
MEMBER [Measures].[ParentUniqueName] as axis(1).item(0).item(0).hierarchy.currentmember.parent.uniquename
MEMBER [Measures].[P2UniqueName] as axis(1).item(0).item(0).hierarchy.currentmember.parent.parent.uniquename
MEMBER [Measures].[ParentName] as axis(1).item(0).item(0).hierarchy.currentmember.parent.name
MEMBER [Measures].[Name] as axis(1).item(0).item(0).hierarchy.currentmember.name
MEMBER [Measures].[Level] as axis(1).item(0).item(0).hierarchy.currentmember.level.ordinal
SELECT
{[Measures].[UniqueName],[Measures].[ParentUniqueName], [Measures].[Name], [Measures].[ParentName], [Measures].[P2UniqueName] , [Measures].[Level], [Measures].[Nb Employés] } ON COLUMNS,
NonEmpty(
{ STRTOMEMBER(@DimOrganisationOrganisation, CONSTRAINED).CHILDREN
}) ON ROWS
FROM [CubeDWH]
WHERE (STRTOSET(@DimTempsTemps, CONSTRAINED))