2016-12-22 2 views
0

Comment puis-je lister les niveaux pour une dimension, qui ont une mesure associée non vide?Afficher les niveaux non vides dans MDX

Supposons que j'ai mesuré Budget. Nous avons créé le budget quatre fois par an, donc cette mesure contient toutes ces valeurs. Je n'ai besoin de vérifier qu'une seule prédiction (catégorie) dans le rapport.

Cette requête me retourne tous les niveaux:

WITH 
MEMBER [Measures].[Label] AS [Dim_Budget Category].[Category].CURRENTMEMBER.MEMBER_CAPTION 
MEMBER [Measures].[Value] AS [Dim_Budget Category].[Category].CURRENTMEMBER.UNIQUENAME 

SELECT 
{ 
    [Measures].[Label], 
    [Measures].[Value] 
} ON 0, 
{ 
    [Dim_Budget Category].[Category].&[BUDGET], 
    [Dim_Budget Category].[Category].&[YEP_1], 
    [Dim_Budget Category].[Category].&[YEP_2], 
    [Dim_Budget Category].[Category].&[YEP_3] 
} ON 1 
FROM [Retail] 

Maintenant, je suis en train d'ajouter une logique qui vérifier si la catégorie ont une valeur dans la mesure du budget. Si oui, la requête devrait retourner ce niveau.

+1

sera la fonction NonEmpty fonctionne pas? vous avez une mesure '[Mesures]. [Budget]'? – whytheq

+0

Oui, mais comment je peux l'inclure dans cette requête? – Testtest11

+1

est-ce que ceux-ci ont besoin de tester YEP_1, YEP_2, YEP_3? – whytheq

Répondre

2

Pour tester si [Dim_Budget Category].[Category].&[YEP_1] est vide contre une mesure [Measures].[Budget] simplement envelopper NonEmpty autour:

NonEmpty(
    [Dim_Budget Category].[Category].&[YEP_1] 
,[Measures].[Budget] 
)