跳至主要内容

从 CDF 获取聚合时间序列数据

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

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

获取单个时间序列的聚合

Power Query Editor 中从 CDF 检索单个时间序列的聚合:

  1. Power BI 连接到 CDF

  2. Power Query Editor 中,使用 Cognite Power BI connector 获取时间序列表格。

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

    聚合函数
  4. 指定时间范围和粒度,然后选择确定

  5. Power Query Editor 会显示一个表格,其中包含指定时间范围的聚合。删除不需要的列,然后选择关闭并应用

获取多个时间序列的聚合

要从相同时间范围内的多个时间序列获取聚合,可使用 TimeseriesAggregate 函数。

首先创建包含你要从中检索聚合的所有时间序列的表格,而不是对单个时间序列调用此函数:

  1. 使用 Cognite Power BI connector 导入时间序列数据和 TimeseriesAggregate 函数。

    时间序列表格和函数
  2. 使用筛选功能查找要聚合的时间序列。

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

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

    时间序列表格
  5. 选择调用以开始检索聚合。

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

提示

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

  • 确保已筛选了时间序列表格,以便仅包含你需要的时间序列。

  • 考虑正在使用的粒度是否正确。粒度会显著影响查询性能。

  • 请求合理数量的数据点。使用较短的粒度来聚合大量时间序列可能会返回海量数据点,而 Power BI 在单个查询中无法处理太多十亿字节级的数据量。