WHERE子句函数需要参数的元组集表达式。使用了字符串或数字表达式

时间:2013-08-03 09:33:58

标签: sql-server ssas mdx olap

我使用SQL Server 2008 R2并使用AdventureWorks2008 DataBase。

我在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子句函数需要参数的元组集表达式。使用了字符串或>数字表达式。

     

执行完成

为什么我会收到此错误?

2 个答案:

答案 0 :(得分:3)

您可以使用推荐的here

以下是您的代码的外观:

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]

答案 1 :(得分:2)

使用此查询

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]