跳至主要内容

获取聚合时间序列数据

Cognite Data Fusion (CDF) 为时间序列中的数值数据点预先计算最常见的聚合。即使在大型数据集中进行查询时,这些聚合也能实现较短的响应时间。

可以查询 CDF 的聚合,而不必下载并在 OData 客户端中手动聚合数据。指定时间范围粒度(计算聚合的时间单位),让 CDF 完成计算工作。

使用 OData 服务获取单个时间序列的聚合

在 asset-centric 和数据建模 OData 服务中,当列出时间序列时,该服务会公开一个函数,以从 CDF 检索单个时间序列的聚合。要在 Microsoft Power BI 中使用该函数:

  1. Power Query Editor 中,使用 Cognite Power BI 连接器导航到时间序列表格列表。

  2. 使用筛选查找要聚合的时间序列,然后在聚合列中,选择函数

    在 Power BI 中查找 CDF OData 连接器
  3. 指定时间范围和粒度,然后选择确定。

    在 Power BI 中查找 CDF OData 连接器
  4. Power Query Editor 会显示一个表格,其中包含指定时间范围的聚合。删除不需要的列,然后选择关闭并应用

获取多个时间序列的聚合

要从相同时间范围内的多个时间序列获取聚合,可使用由 asset-centric OData 服务公开的 TimeseriesAggregate 函数。创建包含你要从中检索聚合的所有时间序列的表格,而不是对单个时间序列调用此函数。

Microsoft Power BI 中:

  1. 使用 Cognite Power BI 连接器打开与 asset-centric OData 服务的连接。右键单击时间序列表格和 TimeseriesAggregate 函数,将其添加为新查询。

    在 Power BI 中查找 CDF OData 连接器
  2. 时间序列表格中使用筛选功能查找要聚合的时间序列。

  3. 查询面板中,选择 TimeseriesAggregate 函数,并设置粒度、开始时间和结束时间。然后,选中选择列

  4. 选择列窗口中,选择时间序列表格并从表格中选择 Id 列,以指定在 CDF 中要从哪些时间序列获取聚合。

    在 Power BI 中查找 CDF OData 连接器
  5. 选择调用以开始检索聚合。

  6. Power Query Editor查询面板中显示名为调用函数的新表格,其中包含指定时间范围的聚合。删除不需要的列,然后选择关闭并应用

    如果 TimeseriesAggregate 函数花费很久才能完成或者在很长时间后失败:

    • 确保已筛选了时间序列表格,以便仅包含你需要的时间序列。
    • 考虑正在使用的粒度是否正确。粒度会显著影响查询性能。
    • 请求合理数量的数据点。使用较短的粒度来聚合大量时间序列可能会返回海量数据点,而 Power BI 在单个查询中无法处理太多十亿字节级的数据量。