改为使用变量作为 SQL 源语句,并使用将 MDX 语句与查询参数相结合的表达式创建字符串变量。这可以通过将 MDX 括在双引号中来完成,如下所示。将\
需要如下所示进行转义,但在解析时只有一个\
结果会出现在结果中。要将数字参数正确连接到语句中,必须将其转换为使用(DT_STR,length,code page)
函数完成的字符串。我猜参数的长度不会超过 2 位数,因为它是一个月,因此 2 用于DT_STR
功能,您可以根据需要进行调整。以下可以用作字符串 SSIS 变量的表达式,然后可以将其用作执行 SQL 任务的 SQL 命令。在执行 SQL 任务上,将SQLSourceType
属性更改为变量,然后选择具有此表达式的变量作为SourceVariable
. 您还需要DelayValidation
在执行 SQL 任务的属性窗口(按 F4)上设置为 true。如果将 SSIS 变量用作 MDX 参数而不是如下例中的 SSIS 参数,请更改@[$Package::ParameterName]
为变量名称,例如 @[User::VariableName]
. 如果它是项目参数,则Package
可以Project
在参数名称中替换为$
保留的 ,即@[$Project::ParameterName]
。
"CREATE GLOBAL CUBE test
STORAGE 'C:\\test.cub'
FROM Cube_test(
Measure [Cube_test].[Val],
dimension [Cube_test].[Date_1] (
level [Date_1],
member [Date_1].[Month].&[2],
member [Date_1].[Month].&[" + (DT_STR, 2, 1252) @[$Package::ParameterName] + "] ) )"