如何在SSRS报表中传递多值字符?
我有一个SSRS报告,其中包含3个数据集,它们来自一个数据源。主数据集是一个存储过程,它基于由其他两个数据集提供支持的一组参数来聚合某些数据。 支持该报告的主要存储过程具有4个参数。一个是数据类型的ID,两个是开始日期和结束日期,第三个只是标记参数。flag参数是多值参数,我想在其中传递多个也是VARCHAR值的标志值。 在我的@Flag参数的存储过程中,我有一个共同点: WHERE [Flag] IN (@Flag) 然后,当然,SSRS报表上的@Flag参数设置为允许“多个值”,这些值也从从维度表中提取那些@Flag值的查询中填充。 我的问题 在大多数情况下,处理INT值时,可以使用相同的技术。但是,当我处理字符值时,它会失败。如果我选择一个标志,该报告将产生神奇效果。如果选择多个标志,则似乎无法正确将标志传递给存储过程,并且不会返回任何结果。 在存储过程中直接测试多值标志时: WHERE [Flag] IN ('A', 'B', 'C') 该存储的过程正常工作。因此,问题不在于存储过程,而是SSRS如何将多值传递给@Flag参数。 尝试过的解决方案 我尝试为此@Flag参数对SSRS数据集进行以下调整: =join(Parameters!<your param name>.Value,",") 还有这个: =SPLIT(JOIN(Parameters!<your param name>.Value,","),",") 这些都适用于单个值,但不适用于多个值。 我在这里想念什么?