教程:向报表添加 KPI (Report Builder 3.0)

关键绩效指标 (KPI) 是对业务具有重大意义的可测量值。本教程教您如何在报表中包含一个 KPI。在本教程中,按产品子类别进行的销售汇总为 KPI。可以使用颜色、仪表和指示器来显示 KPI 的当前状态。

下图显示了将创建的报表。

报表使用颜色、仪表和指示符显示 KPI

学习内容

在本教程中,将学习如何通过基于单元值设置表单元的背景色来添加 KPI,以及添加和配置仪表和指示器。您将学习如何编写设置表单元的背景色的表达式。

本教程包含下列过程:

  1. 使用表向导或矩阵向导创建表报表和数据集

  2. 使用表或矩阵向导组织数据并选择布局和样式

  3. 使用背景色显示 KPI

  4. 使用仪表显示 KPI

  5. 使用指示器显示 KPI

  6. 添加报表标题

  7. 保存报表

注意注意

在本教程中,将向导的多个步骤合并为两个过程:一个用于创建数据集,一个用于创建表。有关如何浏览到报表服务器、选择数据源、创建数据集和运行向导的分步说明,请参阅这一系列教程中的第一个教程:教程:创建基本表报表 (Report Builder 3.0)

本教程的预计学时:15 分钟。

要求

有关要求的详细信息,请参阅教程先决条件 (Report Builder 3.0)

1.使用表向导或矩阵向导创建表报表和数据集

从**“入门”**对话框,选择共享数据源,创建嵌入数据集,并在表中显示数据。

注意注意

在本教程中,由于查询包含了数据值,因此它不需要外部数据源。这样,查询就会非常长。在业务环境中,查询不会包含数据。本教程中的查询仅供学习使用。

创建新表

  1. 单击**“开始”,依次指向“程序”**、Microsoft SQL Server 2008 R2 Report Builder 3.0,再单击 Report Builder 3.0

    此时将显示**“入门”**对话框。

    注意注意

    如果未显示“入门”对话框,请从“报表生成器”按钮中单击“新建”

  2. 在左窗格中,确认已选中**“新建报表”**。

  3. 在右窗格中,单击**“表或矩阵向导”**。

  4. 在“选择数据集”页上,单击**“创建数据集”**。

  5. 单击**“下一步”**。

  6. 在**“选择数据源的连接”**页上,选择现有数据源或浏览到报表服务器并选择一个数据源。如果没有可用数据源,或您无权访问报表服务器,您可以改用嵌入数据源。有关详细信息,请参阅教程:创建基本表报表 (Report Builder 3.0)

  7. 单击**“下一步”**。

  8. 在**“设计查询”页上,单击“编辑为文本”**。

  9. 复制并将以下查询粘贴到查询窗格中:

    SELECT CAST('2009-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 
       'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Accessories' as Subcategory,
       'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity
    UNION SELECT CAST('2009-01-11' AS date) as SalesDate, 'Accessories' as Subcategory,
       'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Accessories' as Subcategory,
       'Mini Battery Charger' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate,  'Accessories' as Subcategory,
       'Telephoto Conversion Lens' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate,'Accessories' as Subcategory,  
       'USB Cable' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity
    UNION SELECT CAST('2009-01-08' AS date) as SalesDate, 'Accessories' as Subcategory, 
       'Budget Movie-Maker' as Product, CAST(3798.00 AS money) AS Sales, 9 as Quantity
    UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory, 
       'Business Videographer' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity
    UNION SELECT CAST('2009-01-10' AS date) as SalesDate, 'Camcorders' as Subcategory, 
       'Social Videographer' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity
    UNION SELECT CAST('2009-01-11' AS date) as SalesDate,  'Digital' as Subcategory, 
       'Advanced Digital' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity
    UNION SELECT CAST('2009-01-07' AS date) as SalesDate,  'Digital' as Subcategory, 
       'Compact Digital' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity
    UNION SELECT CAST('2009-01-08' AS date) as SalesDate,  'Digital' as Subcategory, 
       'Consumer Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Digital' as Subcategory, 
       'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity
    UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Digital SLR' as Subcategory, 
       'SLR Camera 35mm' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity
    UNION SELECT CAST('2009-01-07' AS date) as SalesDate, 'Digital SLR' as Subcategory, 
       'SLR Camera' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity
    
  10. 单击“运行”(!) 以便查看结果。

  11. 单击**“下一步”**。

2.使用表或矩阵向导组织数据并选择布局和样式

使用此向导可提供用于显示数据的起始设计。此向导中的预览窗格有助于在完成表或矩阵设计之前将对数据进行分组的结果可视化。

将数据组织到组中并选择布局和样式

  1. 在“排列字段”页上,将 Product 拖到**“值”**中。

  2. 将 Quantity 拖到**“值”**中并将其放在 Product 下面。

    Quantity 将使用汇总数值字段的默认函数 Sum 函数进行汇总。

  3. 将 Sales 拖到**“值”**中并将其放在 Quantity 下面。

    步骤 1、2 和 3 指定要在表中显示的数据。

  4. 将 SalesDate 拖到**“行组”**中。

  5. 将 Subcategory 拖到**“行组”**中并将其放在 SalesDate 下面。

    步骤 4 和 5 首先按日期组织字段的值,然后按照该日期的所有销售组织字段的值。

  6. 单击**“下一步”**。

    当您运行报表时,表将显示每个日期、每个日期的所有订单以及每个订单的所有产品、数量和销售额总计。

  7. 在“选择布局”页的**“选项”下,确认已选择“显示小计和总计”**。

  8. 验证是否选择了**“分块式,小计下方显示”**。

  9. 清除**“展开/折叠组”**选项。

    在本教程中,您创建的报表不会使用明细功能(用户可通过此功能来展开父组层次结构)来显示子组行和详细信息行。

  10. 单击**“下一步”**。

  11. 在“选择样式”页的“样式”窗格中,选择样式。

    已完成报表的图采用“海洋”样式显示报表。

  12. 单击**“完成”**。

    表将添加到设计图面中。此表有五个列和五个行。“行组”窗格显示三个行组:SalesDate、Subcategory 和 Details。详细信息数据是由数据集查询检索的所有数据。

  13. 单击**“运行”**以预览报表。

对于在特定日期销售的每个产品,表显示产品名称、销售数量及销售额总计。此数据首先按销售日期组织,然后按子类别组织。

3.使用背景色显示 KPI

可将背景色设置为运行报表时计算的表达式。

使用背景色显示 KPI 的当前状态

  1. 返回到“设计”视图。在表中,右键单击从 [Sum(Sales)] 单元向下的两个单元(在显示子类别的销售额的小计行中),然后单击**“文本框属性”**。

  2. 在**“填充”中,单击“填充颜色”选项旁边的 fx 按钮,然后在“为以下项设置表达式: BackgroundColor”**字段中输入以下表达式:

    =IIF(Sum(Fields!Sales.Value) >= 5000 ,"Lime", IIF(Sum(Fields!Sales.Value) < 2500, "Red","Yellow"))

    对于包含大于或等于 5000 的 [Sum(Sales)] 聚合汇总的每个单元,该表达式会使用名为“Lime”的绿色阴影,将背景色会更改为绿色。2500 和 5000 之间的 [Sum(Sales)] 值会变为黄色。小于 2500 的值会变为红色。

  3. 单击“确定”。

    此时**“表达式”**对话框将关闭。

  4. 单击“确定”。

    **“文本框属性”**对话框将关闭。

  5. 单击**“运行”**以预览报表。

    在显示子类别销售额的小计行中,根据销售额总计的值,单元的背景色为红色、黄色或绿色。

4.使用仪表显示 KPI

仪表显示数据集中的单个值。本教程使用水平线性仪表,因为即使是在该仪表较小或在表单元内使用的情况下,其形状和简便性也使其易于读取。有关详细信息,请参阅仪表(Report Builder 3.0 和 SSRS)

使用仪表显示 KPI 的当前状态

  1. 切换到“设计”视图。

  2. 在表中,右键单击前面步骤中更改的单元的列控点,指向**“插入列”,然后单击“右侧”**。此时将向表添加一个新列。

  3. 在列标题中键入 KPI。

  4. 在**“插入”选项卡的“数据可视化”组中,单击“仪表”,然后在表外的设计图面上单击。此时将显示“选择仪表类型”**对话框。

  5. 单击**“线性”。将选择第一个线性仪表类型“水平”**。

  6. 单击“确定”。

    此时将向设计图面添加一个仪表。

  7. 从“报表数据”窗格中,展开“数据集”节点,然后将 Sales 拖到仪表中。当您在仪表中拖动 Sales 时,将打开“仪表数据”窗格。

  8. 将 Sales 放在**“值”**列表中。

    将该字段拖到仪表中时,将使用内置 Sum 函数聚合该字段。

  9. 右键单击仪表中的指针,然后单击**“指针属性”**。

  10. 在**“指针类型”中,选择“条形”**。这会将指针从标记改为条形,从而在将仪表添加到表中时更加清晰可见。

  11. 单击**“指针填充”。在“辅助颜色”中,选取“黄色”**。渐变填充模式将从白色改为黄色。

  12. 单击“确定”。

  13. 右键单击仪表中的刻度,然后单击**“刻度属性”**。

  14. 将**“最大值”选项设置为 25000。单击“确定”**。

    注意注意

    可以使用一个表达式动态计算“最大值”选项的值来代替常数(如 25000)。该表达式将使用聚合功能的聚合,类似于表达式 =Max(Sum(Fields!Sales.value), "Tablix1")。

  15. 将表内的仪表拖到所插入列的小计行(此行显示子类别的销售额)的第三个单元中。

    注意注意

    可能需要调整列大小,以使单元能够容纳水平线性仪表。若要调整列大小,请单击列标题,并使用控点水平和垂直调整单元大小。

  16. 单击**“运行”**以预览报表。

    仪表中条形的水平长度将根据 KPI 的值变化。

  17. (可选)添加处理溢出的最大刻度格,以使超出最大刻度的任何值始终指向最大刻度格:

    1. 在“设计”视图中,打开“属性”窗格。

    2. 单击刻度。该线性刻度的属性将显示在“属性”窗格中。

    3. 在**“刻度格”**类别中,展开 MaximumPin 节点。

    4. 将**“启用”**属性设置为 True。随即将在刻度的最大值之后显示一个刻度格。

    5. 将**“边框颜色”**设置为 LimeGreen。

  18. 单击**“运行”**以预览报表。

5.使用指示器显示 KPI

指示器是以直观的形式传递数据值的小巧而简单的仪表。由于指示器尺寸较小且具有简便性,其经常被用于表和矩阵中。有关详细信息,请参阅指示器(Report Builder 3.0 和 SSRS)

使用指示器显示 KPI 的当前状态

  1. 切换到“设计”视图。

  2. 在表中,右键单击前面步骤中更改的单元的列控点,指向**“插入列”,然后单击“右侧”**。此时将向表添加一个新列。

  3. 在列标题中键入 KPI。

  4. 单击子类别小计的单元。

  5. 在**“插入”选项卡的“数据可视化”组中,双击“指示器”**。

    **“选择指示器类型”**对话框即会打开。

  6. 单击**“形状”。将选择第一个形状类型“3 个交通灯(无边框)”**。

    在本教程中,您将使用该指示器。

  7. 单击“确定”。

    该指示器将添加到设计图面中。

  8. 右键单击指示器,然后单击**“指示器属性”**。

  9. 单击**“值和状态”**。

  10. 在“值”下拉列表中,选择 [Sum(Sales)],但不更改任何其他选项。

    默认情况下,数据区域会发生数据同步,且您将在**“同步作用域”**框中看到 Tablix1 值(报表中表数据区域的名称)。

    在该报表中,还可以更改放在子类别小计单元中的指示器的作用域,以便在 SalesDate 字段内同步。

  11. 单击“确定”以便退出**“指示器属性”**页。

  12. 单击**“运行”**以预览报表。

6.添加报表标题

报表标题显示在报表的顶部。您可以将报表标题放在表头中,或者如果报表不使用表头,也可以将其放在表体顶部的文本框中。您将使用自动放在表体顶部的文本框。

通过将不同的字体样式、大小和颜色应用于文本的短语和单个字符,可以进一步增强文本。有关详细信息,请参阅如何设置文本框中文本的格式(Report Builder 3.0 和 SSRS)

添加报表标题

  1. 在设计图面上,单击**“单击以添加标题”**。

  2. 键入 Product Sales KPI,然后在文本框外部单击。

  3. 也可以右键单击包含 Product Sales KPI 的文本框,单击**“文本框属性”**,然后单击“字体”选项卡,选择不同字形、大小和颜色。

  4. 单击“确定”。

  5. 单击**“运行”**以预览报表。

7.保存报表

将报表保存到报表服务器或计算机上。如果不将报表保存到报表服务器上,则许多 Reporting Services 功能(如报表部件和子报表)将不可用。有关详细信息,请参阅报表服务器和 SharePoint 报表服务器(Report Builder 3.0 和 SSRS)

将报表保存到报表服务器

  1. 从**“报表生成器”按钮,单击“另存为”**。

  2. 单击**“最近使用的站点和服务器”**。

  3. 选择或键入您拥有保存报表权限的报表服务器的名称。

    此时将显示“正在连接到报表服务器”消息。当连接完成时,您将看到报表服务器管理员指定为报表默认位置的报表文件夹的内容。

  4. 在**“名称”**中,用 Product Sales KPI 替换默认名称。

  5. 单击**“保存”**。

报表即已保存至报表服务器。所连接的报表服务器的名称将在窗口底部的状态栏中显示。

将报表保存到计算机上

  1. 从**“报表生成器”按钮,单击“另存为”**。

  2. 单击**“桌面”“我的文档”“我的电脑”**,并浏览到想要保存报表的文件夹。

注意注意

如果您无权访问报表服务器,请单击“桌面”“我的文档”“我的电脑”,将报表保存到计算机上。

  1. 在**“名称”**中,用 Product Sales KPI 替换默认名称。

  2. 单击**“保存”**。

后续步骤

您已成功完成“向报表添加 KPI”教程的学习。有关详细信息,请参阅仪表 (Report Builder 3.0) 指示器(Report Builder 3.0 和 SSRS)