这篇 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”作为提示文本。

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

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

我将单击 ƒx 按钮来编写一个用于分组的表达式。在表达式窗口中,我们将 RowNumber 除以 @Rows 参数。这里,我们还使用了 Ceiling 函数来获取大于或等于结果的最小整数。
用于使用 SSRS 参数限制每页行数的表达式是:
=Ceiling(RowNumber(Nothing)/Parameters!Rows.Value)

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

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

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

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

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