SSRS - 基于参考表的参数

时间:2016-07-18 18:12:08

标签: sql reporting-services

我有多个数据集,WHERE子句= @customernumber。

我的客户编号数据集包含具有唯一ID的字段和包含多个ID的字段。

Customer Number |   Old Customer Numbers
        123                 123
        123                 34324
        123                 4363
        123                 124214
        345                 345
        345                 436346
        345                 234532
        678                 678

我希望能够在参数框中搜索旧客户编号,但在查询我的数据集时使用客户编号。

我的数据集只包含客户编号,而不是旧客户编号。

1 个答案:

答案 0 :(得分:0)

创建参数时,您可以选择下拉列表的值和标签。

Available Values标签中选择Get values from a query,对于数据集,只需选择使用新旧代码查询表格的数据集。在Value field中选择新代码,然后在Label field中选择旧代码。

enter image description here

<强>更新

  1. 创建一个名为OldCode的参数。根据旧客户代码编号将数据类型设置为文本或整数。请勿对此参数使用默认值或可用值。
  2. 创建一个使用@OldCode参数返回客户编号的数据集。使用这样的东西:

    select 
     Customer_Number
    from CustomerTable
    where Old_Customer_Number = @OldCode 
    
  3. 创建一个名为CustomerNumber的参数。设置Hidden属性,然后根据Customer_Number列选择数据类型。在Default Values标签中选择之前创建的数据集,将Customer_Number列选为值字段。

  4. 之后,您可以在所有数据集中使用@CustomerNumber。当用户输入旧代码时,@CustomerNumber将填充相关的Customer_Number值。

    如果有帮助,请告诉我。