주요 내용으로 건너뛰기

Power BI에서 CDF 데이터 필터링

Power BI에서 필터를 추가하면 수십분이나 수시간이 걸리는 대규모 데이터 집합을 밀리초 단위로 필터링할 수 있습니다.

Cognite Data Fusion(CDF) 프로젝트에는 수백만 개의 데이터 행이 포함될 수 있으며, 이를 모두 Power BI로 다운로드하는 것은 효율적이지 않거나 실현 가능하지 않습니다.

Power BI에서 작업 가능한 데이터 집합을 생성하기 위해서는 필터링이 필수적입니다. Cognite Power BI ConnectorCognite OData Service를 통해 CDF로 필터를 푸시합니다. CDF는 필터링을 수행하고 일치하는 행만 Power BI로 반환합니다.

Power Query Editor에서 필터 추가

  1. Power BICDF에 연결합니다.

  2. 필터를 추가하려는 열 머리글의 드롭다운 버튼을 선택합니다.

  3. 텍스트 필터를 선택하고 원하는 유형의 필터를 선택합니다. 예를 들어, 시작 문자를 선택합니다.

  4. 행 필터 대화 상자에서 열의 행을 필터링하는 조건을 지정합니다.

    Power BI 필터 추가
  5. 고급 옵션을 선택하여 동시에 여러 필터를 정의하거나 필터를 개별적으로 정의하여 추가합니다.

    항상 가장 많은 행을 필터링하는 조건을 첫 번째로 지정하십시오.

  6. Cognite Power BI Connector는 필터링을 위해 CDF로 쿼리를 전송하고 CDF에서 반환된 결과는 Power Query에 표시됩니다.

    Power Query에서는 일반적으로 1000개 행을 미리 보여줍니다. 최종 필터링은 닫기 및 적용을 선택하면 수행됩니다.

CDF 리소스 유형에 대해 지원되는 필터링

Cognite Power BI ConnectorCognite 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 서비스에 의해 수행되는 로컬 필터링입니다.

  • FilterFunctions - Contains, StartsWithEndsWith입니다.

  • 비교 - <, <=, >, >==입니다.

  • 검색 - pushdown을 수행하지만 검색 API를 사용하며 추가적인 로컬 필터링이 필요합니다.

    정보

    검색에서는 제한된 수의 행을 반환하며, CDF에서 일치하는 모든 데이터를 수신하지 못할 수 있습니다.

Assets(자산)

속성푸시다운로컬
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
Description검색=, FilterFunctions
ParentId==
ParentExternalId==
DataSetId==
Source==
MetaData=
RootId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison

Time series(시계열)

속성푸시다운로컬
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
Description검색=, FilterFunctions
IsString==
MetaData=
Unit==
IsStep==
AssetId==
SecurityCategories
DataSetId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison

Data point

속성푸시다운로컬
Id==
TimeStampComparisonComparison

Events(이벤트)

속성푸시다운로컬
Id==
ExternalId=, StartsWithFilterFunctions
Description검색=, FilterFunctions
Source==
Type==
SubType==
MetaData=
DataSetId==
StartTimeComparisonComparison
EndTimeComparisonComparison
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
AssetIdsContainsContains

Files(파일)

속성푸시다운로컬
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
Source==
MimeType==
MetaData
DataSetId==
SourceCreatedTimeComparisonComparison
SourceModifiedTimeComparisonComparison
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
UploadedTimeComparisonComparison
Uploaded==
AssetIdsContainsContains

Sequences(시퀀스)

속성푸시다운로컬
Id==
ExternalId=, StartsWith=, StartsWith
Name=, Search=, FilterFunctions
Description=, Search=, FilterFunctions
MetaData
AssetId==
DataSetId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
Columns

CDF RAW 데이터베이스

속성푸시다운로컬
Name==

CDF RAW 테이블

속성푸시다운로컬
Name==

CDF RAW

속성푸시다운로컬
Key==, FilterFunction
LastUpdatedTimeComparisonComparison

사용자 지정 쿼리를 사용하여 데이터 필터링

Cognite Power BI connector를 사용하여 속성을 필터링하는 사용자 지정 쿼리를 생성할 수 있습니다. 예를 들어, 자산 Metadata 속성에 대해 필터링하려면 다음과 같이 하십시오.

  1. Power BIPower BI 기본 창에서 데이터 가져오기를 선택하고 Cognite Data Fusion 커넥터를 선택합니다.

  2. 프로젝트 이름 필드에 프로젝트 이름, 리소스 및 필터를 다음 형식으로 입력합니다.

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

  3. 확인을 선택한 다음 데이터 변환을 선택하여 쿼리 미리 보기를 엽니다.

필터링은 OData 사양을 따르며, and/or 항으로 필터를 연결하여 다중 특성 필터를 생성할 수 있습니다. 예를 들어, 등식 필터는 AttributeName eq 'AttributeValue' 형식을 사용합니다.

Name eq '23-TE-96116-04'

메타데이터 필터링

메타데이터의 경우 필터링은 메타데이터 개체 내에 중첩된 속성에 대해 수행됩니다. 메타데이터 속성에 대한 필터링을 수행하려면 "MetaData/NestedAttributeName eq 'NestedAttributeValue'" 형식으로 필터를 생성해야 합니다. 다음 예를 참조하십시오.

MetaData/RES_ID eq '525283'

다음은 Metadata/RES_ID에 대해 필터링된 publicdata 프로젝트에 대한 사용자 지정 쿼리의 예입니다.

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-c638f5796997publicdata 프로젝트에 대해 구성된 Microsoft Entra ID 테넌트입니다.

디버깅

필터링을 디버깅하려면 어떤 필터가 OData 서비스에 푸시다운되는지 확인할 수 있는 Fiddler와 같은 도구를 사용하는 것이 좋습니다.