1

我使用 SQL Server 2008 R2 和 AdventureWorks2008 数据库。

我在 SSAS 中编写 MDX 查询。

我想要查询的过滤结果。

我写了这个查询

SELECT 
Measures.[Internet Sales Amount] ON COLUMNS,
CROSSJOIN( 
            {Product.[Product Line].[Product Line].MEMBERS}, 
            {[Customer].[Country].MEMBERS}
         ) on ROWS 
FROM [Adventure Works] 
Where 
 ( Measures.[Internet Sales Amount] > 2000000 )

我得到这个错误

执行查询... WHERE 子句函数需要一个元组集表达式作为参数。使用了字符串或 >numeric 表达式。

执行完成

为什么我得到这个错误?

4

2 回答 2

3

你可以使用这里推荐的。

您的代码应如下所示:

SELECT 
Measures.[Internet Sales Amount] ON COLUMNS,filter(
         ({Product.[Product Line].[Product Line].MEMBERS} *
            {[Customer].[Country].MEMBERS}),
            Measures.[Internet Sales Amount] > 2000000) on ROWS 
FROM [Adventure Works]
于 2013-08-03T19:18:41.760 回答
3

使用这个查询

SELECT 
Measures.[Internet Sales Amount] ON COLUMNS,
Filter (
            CROSSJOIN( 
                        {Product.[Product Line].[Product Line].MEMBERS}, 
                        {[Customer].[Country].MEMBERS}
                     ) ,    
            ( Measures.[Internet Sales Amount] > 2000000 )       
         ) on ROWS 
FROM [Adventure Works] 
于 2013-08-04T04:55:55.490 回答