ターゲットを使用して、操作するデータ フィールドを選択する
Power BI 編集モードでは、フィールド ペイン、モデル上のすべてのテーブルとそのすべてのデータ フィールドが表示されます。 データ フィールド内のデータを並べ替え、フィルター処理、またはスライスして、レポート、ページ、ビジュアルでのデータの表示方法に影響を与えることができます。
Power BI 埋め込み分析フィルター、スライサー、または並べ替えには、操作するデータ フィールドを指定するターゲット オブジェクトが必要です。 ITarget を使用して、次の場合にターゲット データ フィールドを指定します。
- IFilter インターフェイスを使用してフィルターを構築する
- 読み込み時にスライサーを設定
- ビジュアル を並べ替える
- 視覚化 にデータ フィールドを追加する
ターゲットの種類
データ フィールドには、列、階層レベル、集計 列または階層レベル、または計算 メジャーを指定できます。
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
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 列に対して機能し、西 リージョンのデータのみがレポートに表示されるようにします。
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 レベルに対して機能し、西 リージョンのデータのみがレポートの階層レベルの下に表示されるようにします。
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"
};