【问题标题】:Filter a dataset based on a text parameter that allows multiple values in SSRS根据允许在 SSRS 中使用多个值的文本参数过滤数据集
【发布时间】:2018-03-08 15:31:02
【问题描述】:

我有一个 SSRS 参数,允许选择多个 varchar 类型的值。 如何让我的 where 子句显示参数中选择的所有内容。一个例子是如果参数选择是

1 : Rob
2 : Tom
3 : Rick

如果选择了前两个选项,则应该有 2 条记录。大意:

where Employee.Code + ' : ' + Employee.Name IN ("1 : Rob","2 : Tom")

【问题讨论】:

  • 您的参数是否将代码和名称列作为一个值返回?
  • 你能解决这个问题吗?

标签: reporting-services varchar


【解决方案1】:

如果参数值同时返回“员工代码”和“员工姓名”,那么我将使用CTE (Common Table Expression) 在过滤之前创建连接列。如果您要在其他地方使用它,您可能希望在视图中创建 CTE。

WITH
employee
AS
(
    SELECT tbl.* FROM (VALUES
      ( 1, 'Rob')
    , ( 2, 'Tom')
    , ( 3, 'Rick')
    ) tbl ([code], [name]) 
)
,
employee_values
AS
(
    SELECT 
          [code]
        , [name]
        , [code_name] = CAST([code] AS VARCHAR) + ' : ' + [name]
    FROM    
        employee    
)
SELECT 
      [code]
    , [name]
    , [code_name]
FROM 
    employee_values
WHERE 
    [code_name] IN(@Employee_Code)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多