数据源概述¶
可视化页面展示的核心是数据,数据有多种获取方式,例如上传一份文件,或调用一个 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 脚本将参数重新结构化,形成自定义结构。
