2012-01-04 1 views
1

Je suit requête pour membre calculé:MDX multiple SAUF filtre membre calculé

SUM(
    EXCEPT([Policy].[Policy Status].[Policy Status],[Policy].[Policy Status].&[Void]) 
    , [Measures].[CountPolicyEndorsesNull] 
) 

Ce que je veux est d'inclure un autre filtre EXCLURE. J'ai essayé suivantes:

SUM(
    {EXCEPT([Policy].[Policy Status].[Policy Status],[Policy].[Policy Status].&[Void])} 
    * 
    {EXCEPT([Invoice].[Invoice Status].[Invoice Status],[Invoice].[Invoice Status].&[Void])} 
    , [Measures].[CountPolicyEndorsesNull] 
) 

mais il renvoie plus de résultat que la première requête. Des idées?

Répondre

0

Votre syntaxe est correcte. Les raisons pour lesquelles il pourrait être plus sont les suivantes:

  1. Vous avez des résultats négatifs dans
  2. Vous avez un ([facture] [facture Statut] & [Void], [mesures] [CountPolicyEndorsesNull]...) membre par défaut défini sur [Facture]. [État de la facture]. [État de la facture].

essayer de retourner la requête suivante:

select 
    [Measures].[CountPolicyEndorsesNull] 
on columns, 
    {[Invoice].[Invoice Status].DefaultMember, 
     [Invoice].[Invoice Status].&[Void] 
    } 
on rows 
from [CubeName] 

que vous obtiendrez votre coupable.

+0

Je l'ai couru mais je ne comprends pas ce que je devrais en tirer. Voici une capture d'écran: http://img84.imageshack.us/img84/2589/60258089.png ... Quand je ne laisse que [Measures]. [CountPolicyEndorsesNull] sur les colonnes, j'ai toujours le même nombre. –

+0

Aha! Votre 'DefaultMember' de' Invoice Status' est 'null', donc quand vous faites tout le set, vous ajoutez le reste de' Invoice Status' au résultat. Vous pouvez le voir en incluant également '[Facture]. [État de la facture] .Members' après '& [Void]'. C'est pourquoi vous obtenez des valeurs supplémentaires. – Eric

+0

Ma supposition éclairée est que le membre par défaut n'est jamais nul. Peut-être que la dimension, la hiérarchie ou le niveau est mal orthographié. – ic3

Questions connexes