跳至主要内容

在 Power BI 中筛选 CDF 数据

Power BI 中添加筛选器,以在毫秒级时间内筛选大型数据集,而无需耗时几分钟甚至几小时。

Cognite Data Fusion (CDF) 项目可能包含数百万行的数据,因此将它们全部下载到 Power BI 中效率很低或不可行。

筛选对于在 Power BI 中创建适合工作的数据集至关重要。Cognite Power BI Connector 可通过 Cognite OData Service将筛选器推送到 CDFCDF执行筛选,仅将匹配的行返回到 Power BI

Power Query Editor 中添加筛选器

  1. Power BI 连接到 CDF

  2. 选择你要向其添加筛选器的列标题上的下拉列表按钮。

  3. 选择文本筛选器以及你要使用的筛选器类型,例如开头为

  4. 筛选行对话框中,指定条件以筛选该列中的行。

    添加 Power BI 筛选器
  5. 选择高级以同时定义多个筛选器,或者单独定义并添加每个筛选器。

    提示

    始终首先指定筛选大多数行的条件。

  6. Cognite Power BI Connector 将查询发送到 CDF 进行筛选,Power Query 显示从 CDF 返回的结果。

    Power Query 预览结果集,通常为 1000 行。最终筛选在你选择关闭并应用时发生。

CDF 资源类型支持的筛选

Cognite Power BI Connector 可通过 Cognite OData Service折叠筛选器或将其推送到 CDF。筛选可能发生在:

  • CDF - 最有效的筛选。CDF 进行筛选,在 CDFPower BI 之间不会传输任何非必要的数据。

  • OData Service - OData 服务可执行本地筛选以支持 CDF 未提供的功能,例如,containsendswith 之类的函数。首先,使用 CDF 筛选尽可能减少数据集。

  • Power Query - Power Query 需要检索要执行筛选的所有数据。对于大型表格,这可能包含大量的数据。首先可能减少数据集。

下表概括了 CDF 中的每种资源类型支持哪些筛选、哪些筛选器将被下推到 CDF,以及哪些筛选将由 OData Service在本地完成。

定义

  • 下推 - 下推到 OData 服务和 CDF 的筛选器功能。

  • 本地 - 在将结果返回到 Power BI 之前由 OData 服务完成的本地筛选。

  • 筛选函数 - ContainsStartsWithEndsWith

  • 对比 - <<=>>==

  • 搜索 - 执行pushdown,但是使用搜索 API 并要求附加的本地筛选。

    信息

    搜索返回有限数量的行,你可能未在 CDF 收到所有匹配的数据。

Assets(资产)

属性下推本地
Id==
ExternalId=、StartsWith=、筛选函数
Name=、搜索=、筛选函数
Description搜索=、筛选函数
ParentId==
ParentExternalId==
DataSetId==
Source==
MetaData=
RootId==
CreatedTime对比对比
LastUpdatedTime对比对比

Time series(时间序列)

属性下推本地
Id==
ExternalId=、StartsWith=、筛选函数
Name=、搜索=、筛选函数
Description搜索=、筛选函数
IsString==
MetaData=
Unit==
IsStep==
AssetId==
SecurityCategories
DataSetId==
CreatedTime对比对比
LastUpdatedTime对比对比

Data point

属性下推本地
Id==
TimeStamp对比对比

Events(事件)

属性下推本地
Id==
ExternalId=、StartsWith筛选函数
Description搜索=、筛选函数
Source==
Type==
SubType==
MetaData=
DataSetId==
StartTime对比对比
EndTime对比对比
CreatedTime对比对比
LastUpdatedTime对比对比
AssetIdsContainsContains

Files(文件)

属性下推本地
Id==
ExternalId=、StartsWith=、筛选函数
Name=、搜索=、筛选函数
Source==
MimeType==
MetaData
DataSetId==
SourceCreatedTime对比对比
SourceModifiedTime对比对比
CreatedTime对比对比
LastUpdatedTime对比对比
UploadedTime对比对比
Uploaded==
AssetIdsContainsContains

Sequences(序列)

属性下推本地
Id==
ExternalId=、StartsWith=、StartsWith
Name=、搜索=、筛选函数
Description=、搜索=、筛选函数
MetaData
AssetId==
DataSetId==
CreatedTime对比对比
LastUpdatedTime对比对比
Columns

CDF RAW 数据库

属性下推本地
Name==

CDF RAW 表格

属性下推本地
Name==

CDF RAW

属性下推本地
Key==、筛选函数
LastUpdatedTime对比对比

使用自定义查询筛选数据

你可以使用 Cognite Power BI connector 创建自定义查询以筛选属性。例如,按资产 Metadata 属性进行筛选:

  1. Power BI 中,从 Power BI 主窗口选择获取数据,并选择 Cognite Data Fusion 连接器。

  2. 项目名称字段中,键入项目名称、资源和以下格式的筛选器:

    <project-name>/<resource-type>/?$filter=<Filter>

  3. 选择确定,然后选择转换数据以打开查询预览。

示例

筛选遵循 OData 规范,你可以使用“与/或”术语链接筛选器以创建多属性筛选器。例如,等式筛选器使用 AttributeName eq 'AttributeValue' 格式:

Name eq '23-TE-96116-04'

元数据筛选

对于元数据,对元数据对象内嵌套的属性执行筛选。要对元数据属性进行筛选,需要创建格式为 "MetaData/NestedAttributeName eq 'NestedAttributeValue'" 的筛选器,例如:

MetaData/RES_ID eq '525283'

以下是对 publicdata 项目的自定义查询示例,对 Metadata/RES_ID 进行筛选:

publicdata/Assets/?$filter=MetaData/RES_ID eq '525283'&amp;tenantID=48d5043c-cf70-4c49-881c-c638f5796997

以下是对 Metadata/RES_IDName 进行筛选的 AND 筛选器:

publicdata/Assets/?$filter=MetaData/RES_ID eq '525283' and Name eq '23-TE-96116-04'&amp;tenantID=48d5043c-cf70-4c49-881c-c638f5796997

在上面的示例中,tenantID=48d5043c-cf70-4c49-881c-c638f5796997 是为 publicdata 项目配置的 Microsoft Entra ID 租户。

调试

要对筛选进行调试,一种有用的方法是使用可用来查看哪些筛选器被下推到 OData 服务的工具,例如 Fiddler