2017-08-29 61 views
0

我对MDX和Analysis Services没有太多的经验。我正在尝试进行钻取,而且大部分情况下我都是正确的。但是,有一个例子我无法弄清楚。当我使用子查询和交叉连接时,钻取的结果不正确。我在没有钻取子句的情况下运行相同的查询,结果是正确的。钻取语句以某种方式收集忽略子选择结果的所有数据。我做错了什么?MDX钻取不能使用子查询

MDX查询是:

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

回答

0

一个子选择是不是一个正常的过滤器,你不只是你使用一个真正的过滤器重新写剧本 - 在WHERE条款:

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