产品定价 立即试用
云平台
北美地区
文档 > 报告 > 嵌入子报表
入门
指南 API 常见问题
目录

子报表

4.2及以上版本
文档信息图标
ThingsBoard PE 功能

专业版支持Reporting功能。
请使用ThingsBoard Cloud自行安装平台实例。

ThingsBoard中的子报表是一种设计用于嵌入另一(主)报表的特殊报表模板类型。 它的行为类似于可重用模块化块,从父报表接收上下文并根据其生成内容。

与常规报表一样,子报表可包含表格、文本块、图像等组件,并完全支持动态实体别名和数据筛选。

子报表不能独立调度或生成 — 它们作为主报表的一部分包含

子报表的适用场景

子报表在以下场景特别有用:

  • 为多个实体动态生成重复部分(例如,报表中每台设备的告警表)。
  • 在多个报表中重用布局或数据块(例如,设备的遥测摘要)。
  • 在不同团队之间分配职责,各自负责报表的特定部分。

子报表的实体筛选器

子报表提供常规报表中不存在的特殊筛选器:

  • 主报表中的实体。使用主报表中子报表组件配置的数据源检索的实体。
    • 如果存在多个实体,将为每个实体生成一个单独的子报表组件。当您需要为设备或资产列表中的每项创建重复块时非常有用。
  • 主报表中实体的所有者。使用主报表数据源中检索的实体的所有者。
    • 如果存在多个实体,将为每个实体生成一个单独的子报表组件。

创建子报表模板

  • 从左侧边栏打开”报表“页面。您将自动进入”模板“标签页。
  • 点击右上角的”+ 添加报表模板“按钮,从下拉菜单中选择”创建新报表模板“。
  • 在弹窗中填写以下内容:
    • 为模板输入描述性名称。
    • 选择报表格式:PDFCSV
    • 选择子报表作为报表模板类型。
    • 点击”添加“以打开报表构建器界面。

子报表构建器

子报表构建器中,通过拖放操作组件库将组件添加到子报表内容区域

  • 添加并配置所需元素,如表格、文本块、图像、图表及其他可用组件。
  • 以与常规报表相同的方式配置每个组件的数据源。

将子报表添加到主报表

  • 打开或创建主报表模板
  • 从可用组件列表中选择子报表拖拽到报表布局中的所需位置。
  • 配置子报表组件
    • 在”数据源“部分,指定其数据将传递给子报表模板的实体。使用筛选器字段为实体选择应用附加条件。

      如果指定的实体别名返回多个实体,将为每个实体生成一个单独的子报表实例。

    • 在”子报表“部分,选择要包含的预创建子报表模板
  • 保存更改。

(可选)运行生成预览以确保子报表正确显示。

示例。每台设备的每日告警报表

假设您需要一个每日报表模板,列出当天每台设备触发的所有告警。

这可以通过子报表实现:

  • 子报表 — 包含单台设备的告警表。
  • 主报表 — 遍历所有设备并为每台插入子报表。

步骤1:创建子报表模板

首先,创建包含单台设备告警表的子报表模板。 其数据源使用筛选类型为”主报表中的实体“的新实体别名。 这允许主报表将特定设备的数据传递给子报表。

  • 从左侧边栏打开”报表“页面。您将自动进入”模板“标签页。
  • 点击右上角的”+ 添加报表模板“按钮,从下拉菜单中选择”创建新报表模板“。
  • 在弹窗中填写以下内容:
    • 输入”每日设备告警(子报表)“作为子报表模板名称。
    • 选择PDF报表格式。
    • 选择子报表作为报表模板类型。


在报表构建器中配置子报表:

  • 添加”富文本”组件,从组件库拖入内容区域。在其配置中:
    • 通过创建筛选类型为”主报表中的实体“的新实体别名来设置数据源。这允许主报表将特定设备传递给子报表。
    • 添加类型为”实体字段“的数据键name“。
    • 内容标签页中,输入所需文本并包含变量${Name}以动态显示当前实体名称。
    • 保存组件。
  • 添加”告警表”组件,从组件库拖入内容区域。在其配置中:
    • 时间窗口设置为显示当天的告警。
    • 使用之前创建的”主报表中的实体“作为数据源,使表格显示主报表传递数据的设备的告警。
    • 设置表标题并包含变量${entityName}以动态显示当前实体名称。
    • 保存组件。
  • 添加”分隔线”组件,以在报表中为每台设备在视觉上分隔部分。保存组件。

子报表配置完成。点击右上角的”保存“按钮保存子报表。

步骤2:创建主报表模板

现在创建另一个主报表模板。 我们将配置其将每台设备的数据传递给子报表模板。子报表模板然后根据其自身配置为每台设备生成报表。

  • 进入”报表“页面 → “模板“标签页,然后点击”+ 添加报表模板“。
  • 填写模板详情:
    • 命名为”每日设备告警报表“。
    • 将格式设为PDF
    • 选择”报表“作为模板类型。
    • 点击”添加“。


在报表构建器中配置主报表:

  • 添加”标题”组件,从组件库拖入内容区域
    • 输入标题文本,例如:”每日设备告警报表
    • 保存组件。
  • 添加”子报表”组件,从组件库拖入内容区域
    • 在”数据源“部分,创建获取所有设备类型实体的新实体别名。
    • 在”子报表“部分,选择之前创建的子报表每日设备告警(子报表)
    • 保存组件。
  • 最后,保存主报表模板。

步骤3:生成测试报表

要确保子报表正确生成,点击窗口右上角的”生成测试报表“按钮。

如您所见,生成的报表包含我们所有三台设备,每台都有单独显示当天告警的表格。