SSRS 中的下拉列表参数

SSRS 中的下拉列表参数允许用户从下拉列表中选择所需值,并使用用户指定的值过滤报表数据。或者,SSRS 下拉参数使报表能够使用下拉列表动态过滤报表。

在本文中,我们将通过一个示例向您展示如何在 SSRS 中添加下拉列表参数。

我们将使用下面显示的报表来解释 SSRS 报表中的下拉列表参数。请参阅 SSRS 中的 表格报表 文章。

如果您观察下面的屏幕截图,它是一个普通的表格报表,包含国家、全名、职业、年收入和销售额列。

Report Parameters 3

下面的屏幕截图显示了我们用于此报表的 共享数据源数据集

Report DataSet 1

我们在上面的屏幕截图中使用的 SQL 命令是

SELECT Geo.[EnglishCountryRegionName] AS [Country]
      ,Geo.[StateProvinceName] AS [State]
      ,Geo.[City]
      ,Cust.FirstName +' '+ Cust.LastName AS [Full Name]  
      ,Cust.EnglishEducation AS Education 
      ,Cust.EnglishOccupation AS Occupation
      ,SUM(Cust.YearlyIncome) AS YearlyIncome
      ,SUM(Fact.SalesAmount)AS SalesAmount 
FROM  DimCustomer AS Cust
  INNER JOIN
      FactInternetSales AS Fact ON 
 Cust.CustomerKey = Fact.CustomerKey
 INNER JOIN
     [DimGeography] AS Geo ON
   Cust.GeographyKey = Geo.GeographyKey
 GROUP BY Geo.[EnglishCountryRegionName]
         ,Geo.[StateProvinceName] 
	 ,Geo.[City]
	 ,Cust.FirstName
         ,Cust.LastName  
         ,Cust.EnglishEducation 
         ,Cust.EnglishOccupation 
  ORDER BY [Country]

SSRS 中的下拉列表参数

在开始创建 SSRS 下拉列表参数之前。让我们创建一个数据集,该数据集保存 [AdventureWorksDW2014] 中的 [DimGeography] 表的唯一国家名称。

DataSet Query for Table 1

我们在上面截图中使用的 SQL 命令是

SELECT [EnglishCountryRegionName] AS [Country]

FROM [DimGeography]

要添加 SSRS 下拉列表参数,请在“报表数据”选项卡中的“参数”文件夹上右键单击,然后选择“添加参数.”

Report Parameters 4

单击“添加参数.” 选项后,将打开一个名为“报表参数属性”的新窗口来配置参数属性。

  • 名称:请根据您的要求指定有效的参数名称。在这里,我们将其指定为 CountryParameter
  • 提示:您在此处指定的文本将显示为文本框之前的标签
  • 数据类型:国家名称是文本数据类型,因此我们保留了默认文本不变
Report Parameters Properties 5

如果您创建普通报表参数,则可以单击“确定”完成配置,但对于下拉列表参数,我们必须选择“可用值”,如下图所示。

如果您可以手动指定值,则可以选择“指定值”选项并手动输入值。在此示例中,我们希望使用我们之前创建的国家名称数据集,因此选择“从查询获取值”选项并从列表中选择数据集。

Drop Down List Parameters 2

请指定值字段和标签字段。在这里,我们只有一个列,所以两者都将是国家。

  • 值字段:此值将发送到查询。报表将使用此值进行过滤。
  • 标签字段:此值将显示给最终用户。
Drop Down List Parameters Label and Value Fields 3

单击“确定”完成下拉列表参数的配置。现在,我们必须在数据集上应用筛选条件。请参阅 SSRS 中的数据集级别筛选器 文章以了解筛选器的创建。

从“报表数据”选项卡中选择数据集,然后右键单击它将打开上下文菜单。请从中选择“数据集属性..” 选项。

DataSet Properties 6

在此示例中,我们将显示 [国家名称] 等于我们刚刚创建的 [国家参数] 的记录,因此,请选择“国家”作为表达式,选择“Like Operator”作为运算符,选择参数名称作为值。

如果您在编写参数名称时遇到任何困难,请单击 fx 按钮。接下来,从 GUI 中选择参数名称。

Parameter as a Report Filter 7

单击“确定”完成数据集级别的 SSRS 下拉列表筛选器配置。让我们单击“预览”选项卡以预览数据。

Drop Down List Parameters 4

从上面的屏幕截图中,您可以看到它显示了一个空白报表,下拉列表中显示了我们在数据集中创建的所有国家名称。为了显示记录,我们必须从下拉列表中选择国家名称然后按 Enter 键。

现在,我们选择加拿大作为国家名称。

Drop Down List Parameters 5

为 SSRS 下拉列表参数添加默认值

如果您观察上面的屏幕截图,它在预览报表时显示空白报表,并要求我们首先选择值。显示空白报表对最终用户来说会很烦人。

要解决此情况,我们必须为 SSRS 下拉列表参数分配一个默认值。在此示例中,我们按如下所示的屏幕截图手动为参数输入“美国”作为默认值。

Drop Down List Parameters 6

如果您现在预览报表,它将显示国家名称为美国的记录,而不是显示空白报表。它将允许我们通过下拉列表选择不同的值。

SSRS Drop Down List Parameters 7

注意:SSRS 中的下拉列表参数对于一次从下拉列表中选择一个值非常有用。要使用多个值,请参阅 SSRS 多值参数 文章