【发布时间】:2015-12-02 09:29:12
【问题描述】:
我想输入(类型)多个值作为参数,用逗号分隔。例如:
我已将 ProductArticle 数据集更改为以下内容:
="WITH MEMBER [Measures].[ParameterCaption] AS [Product].
[Article].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] AS
[Product].[Article].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel]
AS [Product].[Article].CURRENTMEMBER.LEVEL.ORDINAL SELECT {[Measures].
[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]}
ON COLUMNS, [Product].[Article].[Article].ALLMEMBERS ON ROWS FROM [Operational]
where ([Product].[Article Key].&[" & Left(Parameters!ArticleInput.Value,5)
& "], [Product].[Active].&[Active])"
我使用以下参数:
这适用于一个参数输入,但我需要知道如何使用多个值进行此操作。
【问题讨论】:
-
您是否尝试过在查询中使用 IN 子句,即
WHERE [Product].[ArticleID] IN (@ArticleInput) -
运行报告时收到以下错误消息:“为报告参数“文章输入”提供的值对其类型无效”
-
参见上面的编辑 - 您确定传递给查询的值是 111,222,333 格式吗?
-
我尝试过使用 IN 子句,但没有成功。是的,该值将是 6 位数的商品编号。如果用户也想查看多篇文章,那么数字将用逗号分隔。用户应该能够输入无限的文章编号。
-
@krynil
IN运算符不能在 MDXwhere子句中使用。您必须将字符串转换为格式良好的成员。如果您不清楚,请告诉我,我会发布答案。
标签: reporting-services parameters mdx ssrs-2012