这个MDX查询有什么问题?

时间:2012-06-26 13:48:51

标签: mdx data-warehouse

我尝试执行此查询,但我无法理解它有什么问题。

 SELECT {[Measures].[Internet Sales Amount],
         [Measures].[Reseller Sales Amount]} ON COLUMNS,
 [Product].[Product].[Product].Members ON ROWS
 FROM [AdventureWorks2008R2]        

我收到错误消息:

 Msg 102, Level 15, State 1, Line 1
 Incorrect syntax near 'Measures'.

我认为这是“{}”而改为“()”代替,然后我收到了这条消息:

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ','.

---编辑 我在错误的地方写了查询,但现在我收到了另一条消息:

Executing the query ...
Query (3, 10) The MEMBERS function expects a hierarchy expression for the  argument.  A member expression was used.

Execution complete

查询:

SELECT {[Measures].[Internet Sales Amount] ,
        [Measures].[Reseller Sales Amount]} ON COLUMNS,
       {[Product].[Product].[Product].Members} ON ROWS
FROM [Adventure Works]

3 个答案:

答案 0 :(得分:1)

查询没有错。 我认为你对sql db .not Analysis服务db运行查询 。请直接点击ssas db adventurework运行查询。

答案 1 :(得分:0)

括号在第一个实例中破坏了查询,因为该语句不是有效的SQL。更大的问题是你没有编写SQL,你正在编写MDX,所以你的语法是错误的。

你想在某处有一个Hierarchize吗?另外,您是从数据库还是表中进行选择? (我不知道,但您需要更改结束From []以从您想要的内容中进行选择。)

SELECT
Hierarchize({[Measures].[Internet Sales Amount], [Measures].[Reseller Sales Amount]}) ON COLUMNS,
Hierarchize({[Product].[Product].[Product].Members}) ON ROWS 
FROM [AdventureWorks2008R2] 

答案 2 :(得分:0)

我认为问题在于 这个表达

[Product].[Product].[Product].Members 

特别是第二和第三'[产品]' 我想在你的代码maby你放了一些空间或.. [产品]产品。 检查correctnes

我建议从Cube资源管理器中拖动此成员。 也许它有帮助!!