다음을 통해 공유


대상을 사용하여 작업할 데이터 필드 선택

Power BI 편집 모드에서 필드 창 모든 데이터 필드가 있는 모델의 모든 테이블을 표시합니다. 데이터 필드의 데이터를 정렬, 필터링 또는 조각화하여 데이터가 보고서, 페이지 또는 시각적 개체에 표시되는 방식에 영향을 줄 수 있습니다.

Power BI 임베디드 분석 필터, 슬라이서 또는 정렬을 사용하려면 수행할 데이터 필드를 지정하는 대상 개체가 필요합니다. 다음과 같은 경우 ITarget 사용하여 대상 데이터 필드를 제공합니다.

  • IFilter 인터페이스를 사용하여 필터 생성
  • 로드 슬라이서 설정
  • 시각적 개체 정렬
  • 시각화 데이터 필드 추가

대상 형식

데이터 필드는 열, 계층 수준, 집계된 열 또는 계층 수준, 계산 된 측정값 또는 시각적 계산일 수 있습니다. 다음 대상은 인터페이스를 구현 IBaseTarget 합니다.

  • IColumnTarget
  • IHierarchyLevelTarget
  • IMeasureTarget
  • IColumnAggrTarget
  • IHierarchyLevelAggrTarget
  • IVisualCalculationTarget

IVisualCalculationTarget 는 대상 시각적 개체에만 추가할 수 있습니다.

IHierarchyLevelAggrTarget, IColumnAggrTarget, IMeasureTargetAPI IVisualCalculationTarget 를 통해 addDataField 숨겨진 필드로 추가할 수 있습니다.

시각적 계산

IVisualCalculationTarget을 사용하여 일부 DAX를 사용하여 대상 시각적 개체에 시각적 계산을 추가합니다. 시각적 계산의 이름은 항상 고유합니다. 기존 이름을 사용하여 시각적 계산을 추가하려고 하면 시스템에서 이름이 고유하도록 합니다.

target: {
    $schema: "http://powerbi.com/product/schema#visualCalculation",
    name: "<visual calculation name>",
    daxExpression: "<dax>",
    hidden?: boolean
}

IColumnTarget 사용하여 테이블의 지정된 열을 대상으로 지정합니다.

target: {
    $schema: "http://powerbi.com/product/schema#column",
    table: "<table name>",
    column: "<column name>"
}

계층 수준

IHierarchyLevelTarget 사용하여 테이블의 계층 내에서 지정된 계층 수준을 대상으로 지정합니다.

target: {
    $schema: "http://powerbi.com/product/schema#hierarchyLevel",
    table: "<table name>",
    hierarchy: "<hierarchy name>",
    hierarchyLevel: "<hierarchy level name>"
}

치수를 재다

IMeasureTarget 사용하여 테이블에서 지정된 측정값을 대상으로 지정합니다. 대상이 시각적 개체에 바인딩되고 해당 값이 총합계의 백분율로 표시되면 percentOfGrandTotal 값이 true로 설정됩니다.

target: {
    $schema: "http://powerbi.com/product/schema#measure",
    table: "<table name>",
    measure: "<measure name>",
    percentOfGrandTotal?: boolean,
    hidden?: boolean
}

집계 함수

열 및 계층 수준 대상에 대한 집계 함수를 지정할 수 있습니다. aggregationFunction 변수는 선택 사항이며, 변수를 제공하지 않으면 데이터 필드는 기본 Sum 집계 함수를 사용합니다. aggregationFunction 지원되는 다른 값은 다음과 같습니다.

  • Avg
  • DoNotSummarize
  • Count
  • CountNonNull
  • Max
  • Median
  • Min
  • StandardDeviation
  • Variance

집계된 열

IColumnAggrTarget 사용하여 테이블의 지정된 열에 집계 함수를 지정합니다. 대상이 시각적 개체에 바인딩되고 해당 값이 총합계의 백분율로 표시되면 'percentOfGrandTotal' 값이 true로 설정됩니다.

target: {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "<table name>",
    column: "<column name>",
    aggregationFunction: "<aggregation function>", // Optional, default is Sum.
    percentOfGrandTotal?: boolean,
    hidden?: boolean
}

집계 계층 수준

IHierarchyLevelAggrTarget 사용하여 테이블의 계층 내 지정된 계층 수준에서 집계 함수를 지정합니다. 대상이 시각적 개체에 바인딩되고 해당 값이 총합계의 백분율로 표시되면 'percentOfGrandTotal' 값이 true로 설정됩니다.

target: {
    $schema: "http://powerbi.com/product/schema#hierarchyLevelAggr",
    table: "<table name>",
    hierarchy: "<hierarchy name>",
    hierarchyLevel: "<hierarchy level name>",
    aggregationFunction: "<aggregation function>", // Optional, default is Sum.
    percentOfGrandTotal?: boolean,
    hidden?: boolean
}

예제

다음 코드 예제에서는 target 개체를 사용하여 필터가 작동해야 하는 데이터 필드를 지정합니다.

열 대상 예제

다음 코드 예제에서는 열 대상이 있는 기본 필터 보고서에 적용합니다. 이 코드는 Geo 테이블의 지역 열에서 작동하므로 서부 지역의 데이터만 보고서에 표시됩니다.

let filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        $schema: "http://powerbi.com/product/schema#column",
        table: "Geo",
        column: "Region"
    },
    operator: "In",
    values: ["West"]
};

계층 수준 대상 예제

다음 코드 예제에서는 계층 수준 대상이 있는 기본 필터를 보고서에 적용합니다. 이 코드는 Sales 테이블의 OrderDate 계층 구조의 수준에서 작동하므로 West 지역의 데이터만 보고서의 해당 계층 수준 아래에 표시됩니다.

let filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        $schema: "http://powerbi.com/product/schema#hierarchyLevel",
        table: "Sales",
        hierarchy: "OrderDate",
        hierarchyLevel: "Month"
    },
    operator: "In",
    values: ["West"]
};

측정 대상 예제

다음 코드 예제에서는 측정값 대상이 있는 고급 필터 시각적 개체에 적용합니다. 이 코드는 SalesFact 테이블의 Total Category Volume 측정값에서 작동하므로 값이 비어 있지 않은 경우에만 표시됩니다.

let filter = {
    $schema: "http://powerbi.com/product/schema#advanced",
    target: {
        $schema: "http://powerbi.com/product/schema#measure",
        table: "SalesFact",
        measure: "Total Category Volume"
    },
    filterType: models.FilterType.AdvancedFilter,
    logicalOperator: "And",
    conditions: [{
        operator: "IsNotBlank"
    }]
}

집계 열 대상 예제

다음 코드는 Sales 테이블의 Store 열에 있는 값의 합계인 열 집계 대상을 정의합니다.

let columnAggregation = {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "Store",
    column: "Sales",
    aggregationFunction: "Sum"
};