使用存储过程创建 SSRS 报表

在本文中,我们将通过一个示例向您展示如何使用存储过程创建 SSRS 报表。这是 SSRS 关注者经常提出的问题之一。为了演示这一点,我们将在 Adventure Works DW 数据库上创建一个存储过程。

下面的屏幕截图显示了我们将用于创建 SSRS 报表的存储过程代码。

要创建自定义存储过程,请访问 SQL Server 中的“存储过程”文章。要使用参数设计报表,请使用以下链接。

  1. 使用带参数的存储过程创建报表.
  2. 使用带多值参数的存储过程创建报表.

现在,我将编写一个查询来在 Adventure Works DW 上创建存储过程。

USE [AdventureWorksDW2014]
GO

IF OBJECT_ID ( 'SP_ProductSales', 'P' ) IS NOT NULL   
    DROP PROCEDURE SP_ProductSales;  
GO
 
CREATE PROCEDURE [dbo].[SP_ProductSales]
AS
BEGIN
      SET NOCOUNT ON;
	  SELECT Prod.Color, 
             Prod.EnglishProductName AS ProductName, 
             Fact.SalesAmount,
	         Fact.OrderQuantity, 
             Fact.TotalProductCost, 
             Fact.TaxAmt
       FROM DimProduct AS Prod 
         INNER JOIN FactInternetSales AS Fact 
            ON Prod.ProductKey = Fact.ProductKey 
END
GO

使用存储过程创建 SSRS 报表

在此示例中,我们将创建一个 3D 簇状柱形图来显示使用存储过程创建报表的步骤。下面的屏幕截图将显示我们将用于此 SSRS 簇状 柱形图 报表的 数据源数据集

在这里,我们将查询类型从文本(默认)更改为存储过程。接下来,请从可用列表中选择所需的存储过程名称。从下面的屏幕截图中,您可以看到我们正在选择我们之前创建的一个。

Choose the previously created stored procedure for this report 4

最后,请导航到“字段”选项卡,并检查是否从存储过程中获取了所有字段。您还可以在此处添加 计算字段

Check the fields 5

在创建使用存储过程的 SSRS 报表的设计窗口中,我们可以通过将工具箱中的“图表”属性拖动到设计区域来添加簇状柱形图。或者,右键单击报表设计器以打开上下文菜单。从上下文菜单中,请选择“插入”->“图表”选项。

选择“图表”选项后,将打开一个名为“选择图表类型”的新窗口,用于从可用图表中选择所需的图表。在此示例中,我们选择“3D 簇状柱形图”。单击“确定”按钮后,3D 簇状柱形图将显示在设计区域中,并带有占位符数据。单击簇状柱形图周围的空白区域将打开“图表数据”窗口。

在此示例中,我们将为总产品成本和销售额创建一个簇状柱形图。因此,将它们从数据集中拖放到图表数据值中,并将产品颜色拖放到类别组中。

我建议您参考“创建柱形图”文章来了解簇状柱形图的创建。

Add Values to Create Report using Stored Procedure

单击“预览”按钮查看报表预览。在这里,我们在 SSRS 中使用 SP_ProductSales 存储过程创建了一个 3D 簇状柱形报表。我将对图表进行一些格式化,使其看起来更具风格。

请记住,我们已经在“格式化柱形图”文章中解释了格式化选项。因此,请参考该文章以了解步骤。

Create Report using Stored Procedure Final Preview