获取聚合时间序列数据
Cognite Data Fusion (CDF) 为时间序列中的数值数据点预先计算最常见的聚合。即使在大型数据集中进行查询时,这些聚合也能实现较短的响应时间。
可以查询 CDF 的聚合,而不必下载并在 OData 客户端中手动聚合数据。指定时间范围和粒度(计算聚合的时间单位),让 CDF 完成计算工作。
使用 OData 服务获取单个时间序列的聚合
在 asset-centric 和数据建模 OData 服务中,当列出时间序列时,该服务会公开一个函数,以从 CDF 检索单个时间序列的聚合。要在 Microsoft Power BI 中使用该函数:
-
在
Power Query Editor中,使用Cognite Power BI连接器导航到时间序列表格列表。 -
使用筛选查找要聚合的时间序列,然后在聚合列中,选择函数。
-
指定时间范围和粒度,然后选择确定。
-
Power Query Editor会显示一个表格,其中包含指定时间范围的聚合。删除不需要的列,然后选择关闭并应用。
获取多个时间序列的聚合
要从相同时间范围内的多个时间序列获取聚合,可使用由 asset-centric OData 服务公开的 TimeseriesAggregate 函数。创建包含你要从中检索聚合的所有时间序列的表格,而不是对单个时间序列调用此函数。
在 Microsoft Power BI 中:
-
使用
Cognite Power BI连接器打开与 asset-centricOData服务的连接。右键单击时间序列表格和 TimeseriesAggregate 函数,将其添加为新查询。 -
在时间序列表格中使用筛选功能查找要聚合的时间序列。
-
在查询面板中,选择 TimeseriesAggregate 函数,并设置粒度、开始时间和结束时间。然后,选中选择列。
-
在选择列窗口中,选择时间序列表格并从表格中选择 Id 列,以指定在
CDF中要从哪些时间序列获取聚合。 -
选择调用以开始检索聚合。
-
Power Query Editor在查询面板中显示名为调用函数的新表格,其中包含指定时间范围的聚合。删除不需要的列,然后选择关闭并应用。如果 TimeseriesAggregate 函数花费很久才能完成或者在很长时间后失败:
- 确保已筛选了时间序列表格,以便仅包含你需要的时间序列。
- 考虑正在使用的粒度是否正确。粒度会显著影响查询性能。
- 请求合理数量的数据点。使用较短的粒度来聚合大量时间序列可能会返回海量数据点,而
Power BI在单个查询中无法处理太多十亿字节级的数据量。