使用 SSRS 参数限制每页的行数

这篇 SSRS 文章将通过一个示例,展示如何使用参数值来限制表格报表中每页的总行数。要实现这一点,请右键单击 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
GROUP BY Cat.[EnglishProductCategoryName], SubCat.[EnglishProductSubcategoryName],
Prod.EnglishProductName, Prod.Color

使用 SSRS 参数限制每页的行数

在这里,我们设计了一个简单的产品销售表格报表,并设置了字体和颜色。我们通过右键单击“产品名称”,选择“插入列”,然后选择“左侧”选项来添加新列。接下来,右键单击空单元格以选择“表达式”选项,并使用 RowNumber() 函数显示行号。这是可选的,请参阅“添加行号”文章以了解具体步骤。

RowNumber(Nothing)

在此示例中,我们需要一个 参数 来决定行数限制。因此,右键单击“参数”文件夹并选择“添加参数”选项以打开以下窗口。将“Add Rows”命名,并选择“Number Of Rows”作为提示文本。

Add a New Parameter

在“默认值”选项卡下,选择“指定值”选项,然后单击“添加”按钮。接下来,输入参数的默认值以限制每页的总行数。例如,我们想显示或限制每页 10 行,因此请输入 10。

Add Default Value to Limit Rows Per Page using SSRS Parameter

接下来,在“行组”部分,单击“详细信息”旁边的向下箭头,然后选择“添加组”和“父组”。

Add Parent Group

我将单击 ƒx 按钮来编写一个用于分组的表达式。在表达式窗口中,我们将 RowNumber 除以 @Rows 参数。这里,我们还使用了 Ceiling 函数来获取大于或等于结果的最小整数。

用于使用 SSRS 参数限制每页行数的表达式是:

=Ceiling(RowNumber(Nothing)/Parameters!Rows.Value)
Expression to Limit Rows Per Page using SSRS Parameter

单击“确定”关闭 tablix 组窗口。接下来,右键单击 Group1,然后选择“组属性”窗口。默认情况下,行分组表达式会排序表格,这会导致错误。因此,转到“排序”选项卡,然后单击“删除”按钮以删除“按排序”。

Remove the Sort By Column

在“分页符”选项卡下,选择“分页符”选项中的“组的每个实例之间”选项。这有助于使用 SSRS 报表参数限制每页的行数。

Add Page Breaks to Limit Rows Per Page using Parameter

右键单击多余的组列,然后选择“删除列”选项将其从最终报表中删除。请从弹出窗口中选择“仅删除列”选项。第一个选项也会删除我们之前创建的相关组。

Choose Delete Columns Only option

现在,如果查看使用 SSRS 报表参数的预览限制,它显示每页 10 行。

Limit Rows Per Page using SSRS Report Parameter preview

让我将参数值更改为 15,看看它是否显示每页 15 行。

Preview of Limit Rows Per Page using Report Parameter