Data modeling OData service
Connect a Cognite Data Fusion (CDF) data model as a data source and use OData clients to query, transform, and visualize data stored in CDF data models.
The data modeling OData service allows you to access data models created in CDF using OData protocols.
The data modeling OData service accepts URLs with the following schema:
https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/models/spaces/{spaceExternalId}/datamodels/{dataModelExternalId}/versions/{dataModelVersion}
Where:
{cluster}
: the name of theCDFcluster, e.g.,westeurope-1
.{apiVersion}
: the version of theODataservice API (latest is20230821
).{project}
: the name of theCDFproject, e.g.,publicdata
.{spaceExternalId}
: the external ID of thespacewhere the data model is published.{dataModelExternalId}
: the external ID of the data model.{dataModelVersion}
: the version of the data model.
If you point the OData client to the correct data model OData URL and authenticate, the server returns a table with all views existing on the associated data model.
Character guidelines
Follow these character usage guidelines for the space
and externalId
fields in Power BI:
-
Safe to use:
- Alphanumeric characters:
a-z
A-Z
0-9
- Unreserved special characters:
-
_
.
~
- Alphanumeric characters:
-
Use with caution:
- The following reserved characters may work but are not guaranteed to function consistently:
!
*
'
(
)
;
:
@
&
=
+
$
,
- The following reserved characters may work but are not guaranteed to function consistently:
-
Avoid:
- Any special characters not listed above may prevent
Power BIfrom loading or navigating data correctly.
- Any special characters not listed above may prevent
Filter items in data models
Use filters to create workable data sets for reporting or dashboarding. The data modeling OData service supports server-side filtering that allows you to push down filters to the server to avoid downloading all data into the client.
Type | Pushdown |
---|---|
Model property | Yes, except EndsWith and Contains |
Time series metadata | No |
Data and string points | timestamp only |
Files metadata | No |
Power Query performs EndsWith
and Contains
string filtering operations in memory.
JSONObjects
are presented as text values in Power BI.
Working with time series and data points
The data modeling OData service supports fetching Timeseries
from data models.
To get data points for a specific time series, you can navigate to string
or dataPoints
. To get data points from a time range, filter the data point on a timestamp value.
CDF doesn't support filtering time series based on their values.
Time series can contain highly granular data. To improve performance and reduce the data load, use the dataPoint Aggregate
function.
Known limitations and issues
The sections below cover current known limitations and issues related to using CDF data models as the data source for Power BI.
Types with relations to other types
The integration between CDF data models and Power BI has limited support for traversing direct relations between nodes using the OData "expand" concept.
Power BI processes an operation to flatten a table using an expand relation by issuing a separate API request for each instance/row to be expanded. This is very time-consuming for any significant data volume.
Graph edges and attached properties
Currently, we don't support retrieval of properties on edges.
Data refreshes
The minimum refresh rate for data in Power BI is 15 minutes. The OData service doesn't let you load data in small increments for dashboard updates. If a dashboard contains a large amount of data that requires frequent updates, there may be better options than using the data modeling OData service.