数据建模 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 中的 space
和 externalId
字段,请遵循以下字符使用指南:
-
安全使用:
- 字母数字字符:
a-z
A-Z
0-9
- 未保留的特殊字符:
-
_
.
~
- 字母数字字符:
-
谨慎使用:
- 以下保留字符可能有效,但不保证始终有效:
!
*
'
(
)
;
:
@
&
=
+
$
,
- 以下保留字符可能有效,但不保证始终有效:
-
避免:
- 以上未列出的任何特殊字符都可能导致
Power BI无法正确加载或浏览数据。
- 以上未列出的任何特殊字符都可能导致
筛选数据模型中的项
使用筛选器创建可用于报告或仪表板的数据集。数据建模 OData 服务支持服务器端筛选,允许将筛选器下推到服务器,以避免将所有数据下载到客户端。
Type | 下推 |
---|---|
模型属性 | 是,EndsWith 和 Contains 除外 |
时间序列元数据 | 否 |
数据和字符串点 | 仅 timestamp |
文件元数据 | 否 |
Power Query 在内存中执行 EndsWith
和 Contains
字符串筛选操作。
JSONObjects
在 Power BI 中显示为文本值。
处理时间序列和数据点
数据建模 OData 服务支持从数据模型获取 Timeseries
。
为了获取特定时间序列的数据点,可以导航到 string
或 dataPoints
。为了从时间范围获取数据点,通过时间戳的值筛选数据点。
CDF 不支持按其值筛选时间序列。
时间序列可以包含高粒度的数据。为了提高性能并降低数据负载,请使用数据点 Aggregate
函数。
已知限制和问题
以下部分介绍与使用 CDF 数据模型作为 Power BI 的数据源有关的当前已知限制和问题。
与其他类型有关系的类型
CDF 数据模型和 Power BI 之间的集成对使用 OData“扩展”概念遍历节点之间的直接关系的支持有限。
Power BI 通过为每个要扩展的实例/行发出单独的 API 请求,处理使用扩展关系对表格进行扁平化的操作。如果数据量较大,这项任务将非常耗时。
图形边缘和附加属性
目前,我们不支持检索边缘上的属性。
数据刷新
Power BI 中数据的最低刷新率为 15 分钟。OData 服务不允许以小增量加载数据来进行仪表板更新。如果仪表板包含需要频繁更新的大量数据,可能有比使用数据建模 OData 服务更好的选择。