Verwenden von Zielen zum Auswählen des zu bearbeitenden Datenfelds
Im Power BI-Bearbeitungsmodus werden im Bereich Felder alle Tabellen im Modell mit allen zugehörigen Datenfeldern angezeigt. Sie können Daten in den Datenfeldern sortieren, filtern oder segmentieren, um zu beeinflussen, wie die Daten in Berichten, Seiten oder visuellen Elementen angezeigt werden.
Ein eingebetteter Power BI-Analysefilter, Datenschnitt oder -sortierung erfordert ein Zielobjekt, das angibt, auf welches Datenfeld zu reagieren ist. Verwenden Sie ITarget-, um das Zieldatenfeld bereitzustellen, wenn Sie:
- Erstellen eines Filters mit der IFilter--Schnittstelle
- Festlegen eines Datenschnitts beim Laden
- Sortieren einer visuellen
- Hinzufügen eines Datenfelds zu einer Visualisierung
Zieltypen
Ein Datenfeld kann eine Spalte, eine Hierarchieebene, eine aggregierten Spalten- oder Hierarchieebene oder ein berechnetes Measuresein. Zu den Zieltypen für die ITarget
Schnittstelle gehören:
IColumnTarget
IHierarchyLevelTarget
IMeasureTarget
IColumnAggrTarget
IHierarchyLevelAggrTarget
Spalte
Verwenden Sie IColumnTarget-, um die angegebene Spalte in einer Tabelle als Ziel festzulegen:
target: {
$schema: "http://powerbi.com/product/schema#column",
table: "<table name>",
column: "<column name>"
}
Hierarchieebene
Verwenden Sie IHierarchyLevelTarget-, um die angegebene Hierarchieebene innerhalb einer Hierarchie in einer Tabelle als Ziel festzulegen:
target: {
$schema: "http://powerbi.com/product/schema#hierarchyLevel",
table: "<table name>",
hierarchy: "<hierarchy name>",
hierarchyLevel: "<hierarchy level name>"
}
Messen
Verwenden Sie IMeasureTarget-, um das angegebene Measure in einer Tabelle als Ziel festzulegen. Der Wert von percentOfGrandTotal
wird auf "true" festgelegt, wenn das Ziel an ein visuelles Element gebunden ist und dessen Werte als Prozent der Gesamtsumme angezeigt werden.
target: {
$schema: "http://powerbi.com/product/schema#measure",
table: "<table name>",
measure: "<measure name>",
percentOfGrandTotal?: boolean
}
Aggregationsfunktionen
Sie können Aggregationsfunktionen für Ziele auf Spalten- und Hierarchieebene angeben. Die aggregationFunction
Variable ist optional, und wenn Sie sie nicht angeben, verwenden Datenfelder die standardmäßige Sum
Aggregationsfunktion. Weitere unterstützte Werte für aggregationFunction
sind:
Avg
DoNotSummarize
Count
CountNonNull
Max
Median
Min
StandardDeviation
Variance
Aggregierte Spalte
Verwenden Sie IColumnAggrTarget-, um eine Aggregationsfunktion für die angegebene Spalte in einer Tabelle anzugeben. Der Wert von "percentOfGrandTotal" wird auf "true" festgelegt, wenn das Ziel an ein visuelles Element gebunden ist und dessen Werte als Prozent der Gesamtsumme angezeigt werden.
target: {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "<table name>",
column: "<column name>",
aggregationFunction: "<aggregation function>", // Optional, default is Sum.
percentOfGrandTotal?: boolean
}
Aggregierte Hierarchieebene
Verwenden Sie IHierarchyLevelAggrTarget-, um eine Aggregationsfunktion auf der angegebenen Hierarchieebene innerhalb einer Hierarchie in einer Tabelle anzugeben. Der Wert von "percentOfGrandTotal" wird auf "true" festgelegt, wenn das Ziel an ein visuelles Element gebunden ist und dessen Werte als Prozent der Gesamtsumme angezeigt werden.
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
}
Beispiele
In den folgenden Codebeispielen wird das target
-Objekt verwendet, um das Datenfeld anzugeben, auf das ein Filter reagieren soll.
Beispiel für Spaltenziel
Im folgenden Codebeispiel wird ein basisbasierter Filter mit einem Spaltenziel auf einen Bericht angewendet. Der Code fungiert auf der Spalte Region Spalte der Tabelle Geo-, sodass nur Daten in der region West im Bericht angezeigt werden.
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"]
};
Beispiel für Zielebene auf Hierarchieebene
Im folgenden Codebeispiel wird ein einfacher Filter mit einem Ziel auf Hierarchieebene auf einen Bericht angewendet. Der Code fungiert auf der Monat Ebene der OrderDate Hierarchie der Tabelle Sales, sodass nur Daten in der Region West unter dieser Hierarchieebene im Bericht angezeigt werden.
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"]
};
Measurezielbeispiel
Im folgenden Codebeispiel wird ein erweiterter Filter mit einem Measureziel auf ein visuelles Element angewendet. Der Code fungiert für das Total Category Volume Measure in der Tabelle SalesFact, sodass er nur angezeigt wird, wenn der Wert nicht leer ist.
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"
}]
}
Beispiel für aggregierte Spalten
Der folgende Code definiert ein Spaltenaggregationsziel, das die Summe der Werte in der Spalte Store- der Tabelle Sales ist:
let columnAggregation = {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "Store",
column: "Sales",
aggregationFunction: "Sum"
};