跳至主要内容

数据建模 OData 服务

连接 Cognite Data Fusion (CDF) 数据建模作为数据源,并使用 OData 客户端查询、转换和显示存储在 CDF 数据模型中的数据。

数据建模 OData 服务允许你使用 OData 协议访问在 CDF 中创建的数据模型。

数据建模 OData 服务接受具有以下架构的 URL:

https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/models/spaces/{spaceExternalId}/datamodels/{dataModelExternalId}/versions/{dataModelVersion}

其中:

  • {cluster}CDF 群集的名称,例如 westeurope-1
  • {apiVersion}OData 服务 API 的版本(最新版本为 20230821)。
  • {project}CDF 项目的名称,例如 publicdata
  • {spaceExternalId}:发布数据模型的 space 的外部 ID。
  • {dataModelExternalId}:数据模型的外部 ID。
  • {dataModelVersion}:数据模型的版本。

如果将 OData 客户端指向正确的数据模型 OData URL 并进行身份验证,服务器将返回一个表格,其中包含关联的数据模型上存在的所有 views。​

字符指南

对于 Power BI 中的 spaceexternalId 字段,请遵循以下字符使用指南:

  • 安全使用

    • 字母数字字符:a-z A-Z 0-9
    • 未保留的特殊字符:- _ . ~
  • 谨慎使用

    • 以下保留字符可能有效,但不保证始终有效:! * ' ( ) ; : @ & = + $ ,
  • 避免

    • 以上未列出的任何特殊字符都可能导致 Power BI 无法正确加载或浏览数据。

筛选数据模型中的项

使用筛选器创建可用于报告或仪表板的数据集。数据建模 OData 服务支持服务器端筛选,允许将筛选器下推到服务器,以避免将所有数据下载到客户端。

Type下推
模型属性是,EndsWithContains 除外
时间序列元数据
数据和字符串点timestamp
文件元数据

Power Query 在内存中执行 EndsWithContains 字符串筛选操作。

JSONObjectsPower BI 中显示为文本值。

处理时间序列和数据点

数据建模 OData 服务支持从数据模型获取 Timeseries

为了获取特定时间序列的数据点,可以导航到 stringdataPoints。为了从时间范围获取数据点,通过时间戳的值筛选数据点。

CDF 不支持按其值筛选时间序列。

时间序列可以包含高粒度的数据。为了提高性能并降低数据负载,请使用数据点 Aggregate 函数。

已知限制和问题

以下部分介绍与使用 CDF 数据模型作为 Power BI 的数据源有关的当前已知限制和问题。

与其他类型有关系的类型

CDF 数据模型和 Power BI 之间的集成对使用 OData“扩展”概念遍历节点之间的直接关系的支持有限。

Power BI 通过为每个要扩展的实例/行发出单独的 API 请求,处理使用扩展关系对表格进行扁平化的操作。如果数据量较大,这项任务将非常耗时。

图形边缘和附加属性

目前,我们不支持检索边缘上的属性。

数据刷新

Power BI 中数据的最低刷新率为 15 分钟。OData 服务不允许以小增量加载数据来进行仪表板更新。如果仪表板包含需要频繁更新的大量数据,可能有比使用数据建模 OData 服务更好的选择。