该函数需要参数1的元组集表达式。使用了字符串或数字表达式。 -MDX

时间:2014-02-04 14:39:01

标签: mdx

当我执行以下代码时:

WITH SET  office AS {'SELECT  Office =REPLACE( STUFF((Select '','' + CAST([OfficeUniqueName] AS VARCHAR(1000)) 
      FROM [dbo].[ReportOffice]
      WHERE [Used]=1
      FOR XML PATh ('''')
      ),1,1,''''),''amp;'','''')
FROM [dbo].[ReportOffice]
GROUP BY [ReportId]'}
SELECT {[Measures].[Actual]} ON 0,
{DESCENDANTS([Dim Business Line].[Business Lines].[Business Line Level 02].ALLMEMBERS) * office
* {[Dim Date].[Fiscal].[Fiscal Month Number].&[1]&[2013]&[1]&[1] : [Dim Date].[Fiscal].[Fiscal Month Number].&[1]&[2013]&[1]&[1]}  
 *{[Dim Date].[Fiscal Dim Date Calculations].[Current Dim Date],[Dim Date].[Fiscal Dim Date Calculations].[Last Year Current Month]}} ON 1
FROM
[Hays DW]
WHERE ({[Dim Currency].[Currency].&[2]}
)

我总是遇到以下错误:

  

执行查询...查询(1,21)该函数需要一个元组   设置参数的表达式1.字符串或数字表达式是   用过的。完成执行

如何更改它?

1 个答案:

答案 0 :(得分:0)

您在一个查询中混合使用MDX和SQL。这不行。您可以做的是使用与关系数据库的连接首先在客户端工具中运行SQL查询,然后使用此结果构建MDX语句并使用与多维数据集的连接运行该语句。