当我执行以下代码时:
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.字符串或数字表达式是 用过的。完成执行
如何更改它?
答案 0 :(得分:0)
您在一个查询中混合使用MDX和SQL。这不行。您可以做的是使用与关系数据库的连接首先在客户端工具中运行SQL查询,然后使用此结果构建MDX语句并使用与多维数据集的连接运行该语句。