次の方法で共有


ターゲットを使用して、操作するデータ フィールドを選択する

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>"
}

Measure

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 テーブルの [リージョン] 列に対して機能します。

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 階層のレベルで動作するため、レポート内のその階層レベルの下に西リージョンのデータのみが表示されます。

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"
};

次のステップ