在本文中,我们将向您展示如何在 SSRS 报表生成器中创建条形图,而无需使用向导。或者说,在报表生成器中使用报表生成器创建条形图或任何图表所涉及的步骤。
为此,我们将使用我们在早期报告中创建的共享数据源和一个嵌入式数据集。
要创建条形图或任何图表,我们必须打开 SSRS 报表生成器。为此,请打开您的报表管理器并单击“报表生成器”按钮,如下图所示。

在 SSRS 报表生成器中创建条形图
单击 SSRS 报表生成器按钮后,SQL Server 报表生成器将打开一个起始页面。
在本例中,我们想在 SSRS 中创建条形图,而无需使用报表生成器向导。因此,请选择“新建报表”选项卡,然后选择“空白报表”选项。

选择“空白报表”选项后,报表生成器将显示空白报表。我们已经在上一篇文章中解释了设计器窗格。因此,请参考“创建新报表”文章以了解相同内容。

要创建数据源,请右键单击“报表数据”窗格中的“数据源”文件夹。接下来,从上下文菜单中选择“添加数据源”选项。

通过单击该选项,将打开“数据源属性”窗口来配置数据源。
在本例中,我们选择之前创建的共享数据源。请参阅“在报表管理器中创建共享数据源”以了解共享数据源的创建。

要为此报表创建数据集,请右键单击“报表数据”中的“数据集”文件夹。然后从上下文菜单中选择“添加数据集”选项。

这将打开一个名为“数据集属性”的新窗口。在此,选择第一个选项以选择我们之前创建的共享数据集。或者通过选择第二个选项,我们也可以创建新的数据集。
目前,我们选择第二个选项。我建议您参考“使用 SSRS 报表生成器向导创建新数据集”文章以了解创建共享数据集所涉及的步骤。

我们在“创建 SSRS 报表生成器中的条形图”数据集中使用的 SQL 查询是
-- Create Bar Chart
SELECT Cat.[EnglishProductCategoryName] AS ProductCategory,
SubCat.[EnglishProductSubcategoryName] AS ProductSubCategory,
Prod.EnglishProductName AS ProductName,
Prod.Color,
Fact.OrderQuantity,
Fact.TotalProductCost,
Fact.SalesAmount,
Fact.TaxAmt,
Fact.[Freight]
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
让我检查一下数据集返回的字段。

在 SSRS 报表生成器中,请选择“插入”选项卡以在报表设计器中插入图表以创建此条形图。

请单击“图表”按钮下方的向下箭头。接下来,从菜单中选择“插入图表”选项以将表格添加到报表区域。

将图表拖放到数据区域。从下面的屏幕截图中可以看到,它默认显示条形图。

当您从“插入”选项卡将图表拖放到设计区域时,将打开一个名为“选择图表类型”的新窗口,用于从可用的图表中选择所需的图表。在本例中,我们选择一个 3D 柱形图。

单击“确定”按钮后,带有占位符数据的三维柱形图将显示在设计区域中。

单击 SSRS 柱形图周围的空白区域以打开“图表数据”窗口。

在本例中,我们将创建一个柱形图,用于显示按产品颜色划分的产品的销售额和总产品成本。因此,将数据集中的“销售额”和“总产品成本”列拖放到图表数据值中,并将“颜色”拖放到类别组中。

我将新创建的报表名称更改为“使用 SSRS 报表生成器创建条形图”,然后单击“运行”按钮。

单击“运行”按钮后,将生成以下条形图。

我将图表更改为常规柱形图,并格式化图表以获得更好的外观。我建议您参考“创建柱形图”和“格式化柱形图”文章,以了解更改图表类型和向图表中添加数据标签所涉及的步骤。
接下来,请单击“保存”按钮将报表保存到报表服务器。

单击“保存”选项后,将打开一个名为“另存为报表”的新窗口。在这里,您可以选择本地文件系统或报表服务器。我将选择报表服务器。

我将打开我的报表服务器以显示新创建的条形图报表。如果您想运行报表或查看预览,则无需访问报表生成器或 BIDS。只需单击条形图即可运行报表。我将选择我们之前保存的报表并单击它。

现在您可以在报表服务器中看到条形图。
