2013-08-03 17 views
1

我使用SQL Server 2008 R2,并使用AdventureWorks2008数据库。WHERE子句函数需要参数的元组集表达式。使用字符串或数字表达式

我写MDX查询在SSAS。

我想过滤查询结果。

我写这篇文章的查询

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子句功能预计,参数的元组集合表达式。使用了一个字符串或>数字表达式。

执行完成

为什么我得到这个错误?

+0

你连接到什么样的数据库?这是什么语言?我相信这是SSAS/MDX,不是吗? – OzrenTkalcecKrznaric

+0

我写我使用sql server 2008 r2 - 这是mdx查询。 –

+0

好吧,如果你想吸引OLAP分析师的注意力,请添加MDX标签。我试图重申你的问题,但有三个天才认为这是不必要的... – OzrenTkalcecKrznaric

回答

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] 
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] 
相关问题