다음을 통해 공유


ID 필터 API

ID 필터 API를 사용하면 의미 체계 쿼리를 사용하여 범주 데이터를 필터링할 수 있는 시각적 개체를 만들 수 있습니다.
수학 식이 아닌 데이터 요소를 기준으로 데이터를 필터링합니다.

API는 사용자 선택 사항 및 표시할 데이터 요소를 추적합니다. 데이터 요소는 배열에 저장되고 배열의 해당 위치에 의해 참조됩니다.

이 API는 다음과 같은 시나리오에 유용합니다.

  • 키 그룹이 있는 의미 체계 모델을 사용하는 사용자 지정 시각적 개체의 경우
  • 이전 API(2.2 이전)를 사용한 시각적 개체를 최신 API로 마이그레이션
  • 인덱스 배열 식별을 사용하여 선택 허용

참고 항목

ID 필터 API는 API 버전 5.1에서 사용할 수 있습니다. 사용 중인 버전을 확인하려면 pbiviz.json 파일에서 apiVersion을 확인합니다.

ID 필터 모델은 IIdentityFilter 인터페이스를 기반으로 합니다.

    private filter: IIdentityFilter = {
        $schema: “”,
        filterType: FilterType.Identity,
        operator: "In",
        target: []
    }

예를 들어 시각적 개체가 다음 데이터 뷰 업데이트를 받은 경우:

샘플 배열의 스크린샷

배열은 number[] 유형이며 사용자가 선택한 항목의 ID 필드를 포함합니다.

identityIndex는 의미 체계 모델의 값 배열에 있는 값의 인덱스에 해당합니다(아래 참조).

이름의 배열 값을 보여 주는 스크린샷

위의 예제에서 {identityIndex: 0} = "Aaliyah" {identityIndex: 1} = "Aaliyah" {identityIndex: 02 = "Aaliyah" 등

ID 필터 API를 사용하는 방법

ID 필터 API를 사용하려면 powerbi-models 버전이 1.9.1 이상이어야 합니다.

  • visual.ts 클래스의 구성원으로 다음 속성을 추가합니다.

        private filter: IIdentityFilter = {
            $schema: “”,
            filterType: FilterType.Identity,
            operator: "In",
            target: []
        }
    
  • Power BI 업데이트를 처리하려면 "VisualUpdateOptions"의 "jsonFilters"에서 대상 배열을 읽고 해당 값으로 변환합니다. 이러한 값은 선택된 값입니다. 이전 예제에서 대상 배열 [0,10]은 Aliyah, Abigail의 값에 해당합니다.

  • 이전 예제에서 사용자 선택을 처리하려면 첫 번째 Abigail을 클릭하면 값 8을 필터 대상 배열에 추가하고 다음 명령을 사용하여 전송해야 합니다.

this.visualHost.applyJsonFilter(this.filter, "general", "filter", powerbi.FilterAction.merge);

이전 API를 사용하여 시각적 개체 마이그레이션

API 5.1.0부터 2.2 이전 버전을 사용하여 생성된 시각적 개체에서 ID 필터를 지원하려면 capabilities.json 파일에 다음 줄을 추가합니다.

    "migration": {
        "filter": {
            "shouldUseIdentityFilter": true
        }
    }

이 선들은 선택 항목을 ID 필터로 변환합니다.

참고 항목

이 단계는 이전 API로 만든 기존 시각적 개체에만 필요합니다. 최신 시각적 개체는 이를 추가할 필요가 없습니다.

Power BI 시각적 개체 선택을 사용하여 시각적 개체에 대화형 작업 추가

추가 질문이 있으신가요? Power BI 커뮤니티를 사용해 보세요.