2017-08-29 4 views
0

Je n'ai pas beaucoup d'expérience avec MDX et Analysis Services. J'essaie de faire une percée et, pour la plupart, j'ai bien compris. Cependant, il y a un exemple que je ne peux pas comprendre. Lorsque j'utilise une sous-sélection et qu'un crossjoin le résultat de l'extraction est incorrect. J'ai exécuté la même requête sans la clause drillthrough et le résultat est correct. D'une manière ou d'une autre, l'instruction d'extraction collecte toutes les données en ignorant le résultat de sous-sélection. Qu'est-ce que je fais mal?L'extraction MDX ne fonctionne pas avec les sous-sélections

La requête MDX est:

DRILLTHROUGH 
SELECT NON EMPTY (([Dates].[Calendar Year].&[2016]) * {[Measures].[Amount]}) ON COLUMNS 
FROM (SELECT ({[Accounts].[Account Id].&[xxxx]}) ON COLUMNS 
     FROM [ExampleDW]) 

Répondre

0

Un sous-select est pas un filtre normal vous pouvez non seulement vous ré-écrire le script en utilisant un vrai filtre - la clause WHERE:

DRILLTHROUGH 
SELECT 
    NON EMPTY 
    [Dates].[Calendar Year].&[2016]) 
* [Measures].[Amount] ON COLUMNS 
FROM [ExampleDW] 
WHERE [Accounts].[Account Id].&[xxxx];