2017-08-31 1 views
0
WITH 
    MEMBER CostDifference AS 
    Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] 
SELECT 
    NON EMPTY 
    { 
     [Measures].[ExtendedCost]  
    ,CostDifference 
    } ON COLUMNS 
,NON EMPTY 
    {[Parts].[ItemDesc].MEMBERS, [Dim Date].[DateUK].MEMBERS} ON ROWS 
FROM [Cube] 

J'essaie de soustraire une mesure à travers différentes dimensions par exemple pour 2 instantanés de date (31/1/2010 et 28/2/2010) pour tous les produits DimPartsMDX mesures de soustractions à travers les dimensions

si je retire ce morceau de code de l'équation alors tout ce que je reçois est zéros [Dim Date].[DateUK].MEMBERS

Si j'utilise une jointure croisée pour ajouter plus d'une faible même alors la différence de coût est nul

e.g. ,NON EMPTY CrossJoin ( [Parts].[ItemDesc].MEMBERS ,{[Dim Date].[DateUK]} ) ON ROWS

J'utilise SQl Server 2008R2

Qu'est-ce qui me manque ici?

+0

bien ce sera toujours le cas !! ... '[Measures]. [ExtendedCost] - [Mesures]. [ExtendedCost] = 0' – whytheq

+0

Mais j'ajoute dim à l'équation pour que je prenne des dates différentes dans le calcul, le processus de pensée est-il faux? – singhswat

Répondre

1

Cette Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] résoudra ce

[Measures].[ExtendedCost] - [Measures].[ExtendedCost] 

Ce qui est toujours 0

Si ce Sum([Measures].[ExtendedCost]) doit être dans un ensemble complet, vous devez inclure cet ensemble:

Sum(
    [Dim Date].[DateUK].MEMBERS 
,[Measures].[ExtendedCost] 
) 
+0

Merci @whytheq J'obtiens une erreur dans le jeu de résultats "#Error La fonction attend une chaîne ou une expression numérique pour l'argument.Une expression d'ensemble de tuple a été utilisée." Mais si j'utilise [Dim Date]. [DateUK]. & [31/1/2010] J'obtiens des résultats ... Je peux donc le rendre générique, n'est-ce pas? – singhswat

+0

ceci est à partir de votre script '[Dim Date]. [DateUK] .MEMBERS' .... les membres retournent un ensemble donc je ne sais pas pourquoi vous obtenez cette erreur – whytheq