在 SSRS 报表中显示参数值

本文展示了如何在 SSRS 中使用参数并在报表中显示用户选择的参数值。为此,我们需要添加一个文本框并编写一个调用参数值的表达式。

右键单击“数据集”文件夹以创建新的数据集。在 SSMS Adventure DW 数据库中写入以下代码,可以显示我们在 SSRS 报表参数值显示示例中使用的 T_Sales_Fact 数据集。

我们用于此 SSRS 示例的 SQL 查询是

SELECT Cat.[EnglishProductCategoryName] AS Category, 
SubCat.[EnglishProductSubcategoryName] AS SubCategory,
Prod.EnglishProductName AS ProductName, Prod.Color,
SUM(Fact.OrderQuantity) AS Orders, SUM(Fact.TotalProductCost) AS ProductCost,
SUM(Fact.SalesAmount) AS Sales, SUM(Fact.TaxAmt) AS Tax
FROM FactInternetSales AS Fact
INNER JOIN DimProduct AS Prod ON Fact.ProductKey = Prod.ProductKey
INNER JOIN DimProductSubcategory AS SubCat ON Prod.ProductSubcategoryKey = SubCat.ProductSubcategoryKey
INNER JOIN DimProductCategory AS Cat ON SubCat.ProductCategoryKey = Cat.ProductCategoryKey
GROUP BY Cat.[EnglishProductCategoryName], SubCat.[EnglishProductSubcategoryName],
Prod.EnglishProductName, Prod.Color

我们创建了另一个数据集 Category Names,用于作为可用的参数值。CategoryNamesDSet 数据集的代码是

SELECT DISTINCT [EnglishProductCategoryName]
FROM DimProductCategory

如何在 SSRS 报表中显示参数值?

右键单击“参数”文件夹,然后选择“添加参数”选项以打开以下窗口。将 Category 作为名称和提示文本。

Create a new parameter

转到可用值选项卡,然后选择从查询获取值。接下来,选择我们之前创建的 CategoryNamesDSet 数据集以获取唯一的英文产品类别名称,并选择 category 作为值和标签字段。

Choose the available values from DataSet

我们设计了一个简单的按产品类别划分的销售和订单表报表,并格式化了字体和颜色。双击主数据集 CatDSet,转到筛选器选项卡,然后单击添加按钮以添加筛选器。

在此,我们选择 category 列作为表达式,并单击“值”旁边的 ƒx 按钮来编写表达式。接下来,请通过双击选择 Category 参数。

Add Filter expression at Dataset Level

单击“确定”关闭表达式和数据集属性窗口。由于筛选条件,报表预览将显示其产品类别等于用户选择的 @Category 参数值的记录。

右键单击空白区域,选择“插入”,然后选择“文本框”选项。这将向报表添加一个文本框。

Add a Text box to Display Parameter Value

右键单击文本框,然后从上下文菜单中选择“表达式”选项。在表达式中,我们选择了 Category 或双击参数 Category 以在文本框中显示其值。

Expression to Display Parameter Value in SSRS Report

现在您可以在文本框中看到该类别。除了编写表达式,您还可以将 @category 拖到文本框中,效果相同。

Display Parameter Value Report 11

在 SSRS 报表预览中,您可以看到所选的 Clothing(参数值)显示在报表中。

Display Parameter Value in SSRS Report Preview

让我在文本框中添加一些示例文本。要编写任何文本,您不必编辑表达式。相反,可以在文本框中输入任何您想要的文本,它将反映出来。这里,我们使用以下表达式

"The User Has Selected the "+ Parameters!Category.Value

报表预览显示了我们之前输入的随机文本以及我们选择的类别。

Display Parameter Value with random custom text in SSRS Report