为SSRS报表添加行号

当您开发表格矩阵报表时,通常需要显示序列号或行号。本文将向您展示如何在SSRS报表中添加行号,或如何使用RowNumber函数。这是每个报表开发人员的标准要求之一。

我们将使用下面显示的报表数据集来解释如何添加SSRS行号。请参考共享数据源数据集文章,以了解创建我们用于此报表的数据源和数据集涉及的步骤。

我们在上述数据集中使用的自定义SQL查询是

-- RowNumber Function
USE [AdventureWorksDW2014]
GO
SELECT Terr.[SalesTerritoryRegion] ,Terr.[SalesTerritoryGroup]
,GEO.[EnglishCountryRegionName],GEO.[StateProvinceName],GEO.[City]
,GEO.[PostalCode], SUM(FACT.[OrderQuantity]) AS OrderQty
,SUM(FACT.[TotalProductCost]) AS ProductCost, SUM(FACT.[SalesAmount]) AS Sales
,SUM(FACT.[TaxAmt]) AS TaxAmt
FROM [DimSalesTerritory] AS Terr
INNER JOIN [DimGeography] AS GEO ON Terr.SalesTerritoryKey = GEO.SalesTerritoryKey
INNER JOIN [FactInternetSales] AS FACT ON Terr.SalesTerritoryKey = Fact.SalesTerritoryKey
GROUP BY Terr.[SalesTerritoryRegion], Terr.[SalesTerritoryGroup], GEO.[EnglishCountryRegionName]
,GEO.[StateProvinceName] ,GEO.[City] ,GEO.[PostalCode]

为SSRS报表添加行号

为了演示SSRS行号,我们将使用先前设计的报表。请参考表格报表格式化表格报表文章,以了解创建表格报表和格式化涉及的步骤。接下来,请参阅添加页眉和页脚文章,了解如何添加页眉和页脚以检查报表预览。

从上面的截图可以看出,要从上面的报表中指出特定行是很困难的。如果我们导航到第10页或第20页,情况会变得更糟。

如果您的数据集包含序列号(连续数字),则可以使用该列。实际上,从数据库中提取连续的列是不可能的。因此,我将向您展示一种添加连续列或为SSRS报表添加行号的理想方法。

首先,添加一个空列,或在表报表中插入一列。为此,请右键单击“销售区域”列,然后从上下文菜单中选择“插入列”>“左侧”。

Insert a New Column to the Left

这将在起始位置添加一个空列。现在右键单击新添加的列将打开上下文菜单。请从上下文菜单中选择“表达式”选项。

Add Row Numbers to a Report 6

单击“表达式”后,将打开一个名为“表达式”的新窗口。使用此表达式窗口编写自定义表达式。在报表服务中,我们有一个名为RowNumber的函数,在此示例中,我们将使用此SSRS行号。

Add Row Numbers to a Report 7

分配完SSRS行号后,单击“确定”关闭窗口。正如您所见,我们的报表预览在表报表中显示了连续数字(行号)。

Add Row Numbers to a Report 9

让我向您展示最后一页,以查看SSRS行号。

评论已关闭。