【问题标题】:Comma delimited text input parameter (multiple values) in SSRSSSRS 中的逗号分隔文本输入参数(多个值)
【发布时间】: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])"

我使用以下参数:

ArticleInput (available and default values not specified) ProductArticle (available and default values connected to the ProductArticle dataset)

这适用于一个参数输入,但我需要知道如何使用多个值进行此操作。

【问题讨论】:

  • 您是否尝试过在查询中使用 IN 子句,即WHERE [Product].[ArticleID] IN (@ArticleInput)
  • 运行报告时收到以下错误消息:“为报告参数“文章输入”提供的值对其类型无效”
  • 参见上面的编辑 - 您确定传递给查询的值是 111,222,333 格式吗?
  • 我尝试过使用 IN 子句,但没有成功。是的,该值将是 6 位数的商品编号。如果用户也想查看多篇文章,那么数字将用逗号分隔。用户应该能够输入无限的文章编号。
  • @krynil IN 运算符不能在 MDX where 子句中使用。您必须将字符串转换为格式良好的成员。如果您不清楚,请告诉我,我会发布答案。

标签: reporting-services parameters mdx ssrs-2012


【解决方案1】:

设置报表参数属性的允许多值属性值为真 并在文本框中使用以下代码作为表达式

=join(Parameters!parameterName.Value,",")

【讨论】:

  • 他希望能够将值输入到参数的文本框中,而不是从列表中选择它们,而不是在报表上显示连接列表。
  • 感谢您的回复,但是我已经有一个带有 =Join(Parameters!ProductArticle.Label, ",") 的文本框。我在输入多个参数和查看报告时遇到问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多