【问题标题】:Using a list parameter in SSRS在 SSRS 中使用列表参数
【发布时间】:2013-04-02 19:05:19
【问题描述】:

我需要能够将 SSRS 参数设置为包含多个值。

在 TSQL 中,我可以有一个 where 子句声明:

where Attribute in ('Value1', 'Value', 'Value3')

我需要在 SSRS 中拥有:

where Attribute in (@Attribute)

我要挂断的是如何格式化参数值表达式,以便 SQL 将其视为:'Value1', 'Value', 'Value3'

我有幸让where 子句只查看第一个值,但我需要它查看所有 3 个值。我将如何格式化表达式来做到这一点?

我只允许它接受多个值,并单独检查每个值,但我需要下拉列表才能有组。因此,如果用户选择 GroupA,where 子句使用:IN ('Value1', Value2'),如果用户选择 GroupB,where 子句使用不同的列表来表示 IN

希望这只是正确格式化表达式的问题。

【问题讨论】:

    标签: sql-server-2008 reporting-services ssrs-2008


    【解决方案1】:

    好吧,如果您没有关于组的要求,这不会成为问题,因为您只需将参数设为多值参数,然后在数据集查询上执行 WHERE Attribute in (@Attribute)。但考虑到这一要求,我能想到的唯一方法是拥有两个多值参数:@Group@Attribute。您需要使@Attribute 不可见并创建一个数据集来填充它。该数据集将是这样的:

    SELECT Attribute
    FROM Attributes
    WHERE Group IN (@Group)
    

    并为您的报告数据创建另一个数据集:

    SELECT <all your data>
    FROM YourTable
    WHERE Attribute IN (@Attribute)
    

    【讨论】:

    • 我正在这样做,它似乎将正确的值传递给参数,但报告仍然只查看列表中的第一个值。
    猜你喜欢
    • 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
    相关资源
    最近更新 更多