共用方式為


使用目標來選取要處理的數據欄位

在 Power BI 編輯模式中,[字段] 窗格 顯示模型上具有所有數據欄位的所有資料表。 您可以在數據欄位中排序、篩選或配量數據,以影響數據在報表、頁面或視覺效果中的顯示方式。

Power BI 內嵌分析篩選器、交叉分析篩選器或排序需要目標物件,以指定要執行哪些數據欄位。 使用 ITarget,在您下列情況下提供目標數據欄位:

目標類型

數據欄位可以是資料行、階層層級、匯總 資料行或階層層級,或計算 量值ITarget 介面的目標類型包括:

  • IColumnTarget
  • IHierarchyLevelTarget
  • IMeasureTarget
  • IColumnAggrTarget
  • IHierarchyLevelAggrTarget

使用 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
}

聚合函數

您可以指定資料行和階層層級目標的聚合函數。 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
}

匯總階層層級

使用 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
}

例子

下列程式代碼範例會使用 target 物件來指定篩選應處理的數據欄位。

數據行目標範例

下列程式代碼範例會將具有數據行目標的數據行目標套用至報表 基本篩選。 此程式代碼會作用於 Geo 數據表的 Region 數據行,因此報表中只會顯示 West 區域中的數據。

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 階層的 Month 層級,因此只有報表中該階層層級下 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"
};