数据源概述¶
可视化页面展示的核心是数据,数据有多种获取方式,例如上传一份文件,或调用一个 API 接口。DTV 通过与各种数据提供方建立集成通道来获取数据,这一集成通道被称为 数据源。
什么是数据源¶
数据源是 DTV 中用于连接各类数据提供方的集成通道,为可视化页面提供所需的数据支撑。DTV 封装了从不同来源获取数据的逻辑,应用开发人员可通过统一的方式配置和使用数据,无需关注底层数据获取的复杂性。
根据数据是否来自 EnOS,DTV 数据源分为:
- 内置数据源:DTV 预置的常用 EnOS 数据源,如 EnOS 中存储的时序数据、已注册的指标数据等。 
- 外部数据源:由应用开发人员手动配置的数据源,如通过 CSV 文件上传的静态数据,或通过 API 获取的第三方数据。 
数据源类型¶
DTV 支持的数据源类型如下:
| 数据源类型 | 外部/内置 | 描述 | 
|---|---|---|
| Common Data Service | 内置 | 通过 EnOS 通用数据服务 API 调用的数据。 | 
| TSDB | 内置 | 存储在 EnOS 时序数据库中的数据。 | 
| Metric Management | 内置 | 通过 EnOS 指标管理 API 调用的数据。 | 
| Static Data | 外部 | 导入的 CSV 文件中的数据。 | 
| Rest API | 外部 | 通过 Rest API 调用的数据。 | 
数据源的类别 
数据源中的数据具有不同的结构。数据源的类别 用于进一步指定数据源的结构,确保组件能够正确获取和使用数据。
在 DTV 中,数据源的类别可分为:
- 默认类别:数据源自带的预定义结构,包括: - 模型类别:如 TSDB、Common Data Service 中的数据默认按模型分类。 
- 表类别:如指标管理中的维度表、事实表。 
- 其他类别:如告警、拓扑等特定数据结构。 
 
- 数据集:当默认类别无法满足需求时,可创建数据集来自定义数据结构和范围。 
数据源的结构由以下两部分组成:
请求参数¶
组件通过数据源请求数据时,需要指定的查询条件。不同数据源有不同的请求参数要求,如时间范围、资产ID、模型类型等。
返回结构¶
数据源响应请求后返回的数据字段结构。这些字段构成了组件配置时可选的维度、度量和对比项。
支持的数据源¶
下表详细列出了 DTV 支持的数据源及其默认类别:
| 数据源类型 | 数据源名称 | 默认类别 | 描述 | 
|---|---|---|---|
| Common Data Service | Realtime | 模型 | EnOS 模型关联资产的实时数据。 | 
| Common Data Service | Timeseries | 模型 | EnOS 模型关联资产在一段时间内的时序数据。 | 
| Common Data Service | Topology | 模型 | EnOS 模型关联资产的层级结构(拓扑)信息。 | 
| Common Data Service | Record | 表 | 资产的事实数据,如告警、控制请求等。 | 
| Common Data Service | Alarm | 告警 | 当前 OU 的告警数据。 | 
| TSDB | LatestData | 模型 | EnOS 模型关联资产的实时数据。 | 
| TSDB | Current Day Electric Power | 模型 | EnOS 模型关联资产的当日电量数据。 | 
| TSDB | Electric Power | 模型 | EnOS 模型关联资产在一段时间内的电量数据。 | 
| TSDB | DI Data | 模型 | EnOS 模型关联资产在一段时间内的状态变化(DI)数据。 | 
| TSDB | AI Raw | 模型 | EnOS 模型关联资产的测点在一段时间内的 AI 原始数据。 | 
| TSDB | AI Aggregation | 模型 | EnOS 模型关联资产的测点在一段时间内的 AI 分钟级归一化数据。 | 
| TSDB | Generic | 模型 | EnOS 模型关联资产的测点在一段时间内通用类型的数据。 | 
| TSDB | RAW DATA | 模型 | EnOS 模型关联资产的测点在一段时间内的历史数据。 | 
| Metric Management | Metric | 维度表 | EnOS 指标管理中的指标数据。 | 
| Metric Management | Fact Table | 无 | EnOS 指标管理中的事实表数据。 | 
| Metric Management | Dimension | 维度表 | EnOS 指标管理中的维度表数据。 | 
| Static Data | 
 | 无 | 无默认结构,必须创建数据集。 | 
| Rest API | 
 | 类别 | Rest API 获取的数据类别,如资产树结构、设备类型信息等。 | 
数据源与页面的关系¶
数据源为可视化页面提供数据支撑。在 DTV 中:
- 一个数据源可以为多个页面提供数据 
- 一个页面可以使用多个数据源 
- 页面通过组件来消费数据源中的数据 
这种解耦的设计使得数据管理更加灵活,同一份数据可以在不同的页面中以不同的形式展示。
组件数据项¶
在 DTV 页面中,数据源的返回参数将以 数据项 的形式展示在组件中。配置组件数据时,需要将数据项按照一定逻辑进行分组、细化和比较,才能呈现丰富的可视化效果。DTV 使用维度(Dimension)、度量(Measurement)和对比(Comparison)这 3 个概念对数据项进行逻辑梳理。
维度¶
维度描述数据的分类属性,可用于对数据进行分组和细化分析,为数据提供上下文信息。
例如,在分析销售数据时,常见的维度包括:
- 产品类别:如服装、电子产品、家居用品等,可用于展示不同类型产品的销售情况。 
- 品牌:如不同品牌的产品,可用于展示各品牌的市场占有率和表现。 
- 地区:如按照省市区划分,可用于展示不同地区的销售情况和区域差异。 
- 时间:如按照年、季度、月份等划分,可用于展示销售的季节性变化趋势。 
度量(指标)¶
度量衡量数据的数值属性。它提供了数据的具体数值指标,是进行统计分析和比较的依据。
例如,在分析销售数据时,常见的度量包括:
- 销售额:反映了产品的收入情况,是最基础的度量指标之一。 
- 订单数量:反映了产品的销售活跃度和市场需求。 
- 转化率:反映了网站访客成交的效率,是评估营销效果的重要指标。 
- 用户数量:反映了产品的市场规模和增长情况,是关注用户增长的核心指标。 
下表为以 季度销售额 为度量,以 产品类别 为维度的数据。
| 产品类别 | 2020 年 Q1 | 2020 年 Q2 | 2020 年 Q3 | 
|---|---|---|---|
| 服装 | 1200 万元 | 1500 万元 | 1800 万元 | 
| 电子产品 | 800 万元 | 900 万元 | 1000 万元 | 
| 家居用品 | 500 万元 | 700 万元 | 600 万元 | 
根据上述数据可配置以下 时序图:
 
对比¶
对比是指从某一维度对度量的数据进行比较,以发现数据之间的差异和趋势。
例如,在分析电商数据时,可以将不同类别的产品销售额进行对比,以分析各类产品的销售表现。
在上述数据中,以 产品类别 为对比项,在 单指标卡 组件中可生成多个指标数据,分别展示每一类别下的产品销售额。
 
数据集 
数据集是数据源中同一类数据结构的数据集合,由应用开发人员自定义。通过创建数据集,可对数据进行分类和整理,满足不同场景的可视化需求。
- 当数据源中的数据无默认结构时,必须创建数据集,定义数据的范围和结构,例如 Static Data 数据源。 
- 当数据源中的默认结构化数据无法满足你的需求时,可以创建数据集,自定义数据的范围、请求参数和返回结构。例如下图展示了一个以模型作为默认结构的数据源,在配置可视化页面时,可为页面组件选择任一模型或数据集作为数据范围。 
 
数据集由以下两部分组成:
请求参数 
请求参数是页面的组件在请求数据时向数据源发送的参数。创建数据集后,需要为数据集定义请求参数。例如,为仪表盘组件选择数据集后,需为组件配置已选的请求参数的值。
按照参数的来源,请求参数可分为:
- 原始参数:数据源中自带的请求参数,可直接选择和使用,例如参数 1 和 2。 
- 组合参数:将原始参数的值重新组合而形成的新参数,如参数 5。为组合参数创建值时,可定义组合参数值与原始参数值的关系,例如组合参数值 A = 原始参数值 5 + 原始参数值 7。参与构成组合参数的原始参数将无法直接使用。   
返回结构¶
返回结构是页面的组件请求数据后,数据源返回的参数。定义返回结构,将影响仪表盘组件中 维度、对比、度量(指标)、扩展 等项的数据项选择范围。
按照结构的来源,返回结构可分为:
- 默认结构:数据源中默认的返回结构,默认结构中的字段可分为以下两种: - 原始字段:数据源自带的返回字段,可直接选择和使用,例如字段 1 - 4。 
- 计算字段:通过编写 JavaScript 脚本,将原始字段进行求和、平均等简单计算而形成的新字段。例如字段 5 是由字段 1 和字段 2 经过计算得来的。参与构成计算字段的原始字段仍可直接选择和使用。   
 
- 自定义结构:从原始字段中选择字段或创建新字段作为参数,通过编写 JavaScript 脚本将参数重新结构化,形成自定义结构。 

 
 
