本文介绍如何在报表参数中使用静态值,并提供了一个示例。例如,如果只有少数几个项用于筛选数据集,请将它们指定在参数的默认值中,而不是从查询中获取。这可以提高报表性能。
右键单击 Datasets 文件夹以创建新的 DataSet。在 SSMS 中编写以下代码可显示我们用于此 SSRS 报表参数静态值示例的数据集。
我们在上面的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
WHERE [EnglishProductCategoryName] = @Category
GROUP BY Cat.[EnglishProductCategoryName], SubCat.[EnglishProductSubcategoryName],
Prod.EnglishProductName, Prod.Color
如果观察上述查询,我们使用了带有 @Category 参数的 WHERE 条件。
SSRS 报表参数静态值
下图显示了 DataSet1 中的可用列以及自动创建的 Category 参数。接下来,要创建表格式报表,请右键单击空白区域,选择 Insert,然后选择 Table 选项。我们设计了一个简单的按产品类别划分的销售额的表格式报表,并对字体和颜色进行了格式化。
报表预览显示了一个用于输入类别的空白文本框。除非您输入类别,否则它会显示一个空白报表。当我输入 Accessories 时,它会显示 Accessories 中的所有产品。

在 Adventure Works 数据库中,有三个产品类别。在这种情况下,为获取这三个产品类别而创建另一个数据集是没有意义的。相反,我们可以将这些类别直接写在报表参数中。
双击或右键单击并选择“@Cateogry Parameter Properties”选项以打开“Report Parameter Properties”窗口。

转到“Available Values”选项卡,选择“specify values”选项,然后单击“add”按钮为 @Category 参数添加值。我将输入所有三个产品类别,这些就是 SSRS 报表参数的静态值。

现在,如果您转到报表预览,将不会看到用于输入国家名称的文本框。默认情况下,它会显示一个下拉框,供您从这些可用的静态值中选择。选择 Accessories 以查看它们。

同样,也可以尝试 Clothing。
