Freigeben über


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:

Zieltypen

Ein Datenfeld kann eine Spalte, eine Hierarchieebene, eine aggregierte Spalte oder Hierarchieebene, ein berechnetes Measure oder eine visuelle Berechnung sein. Die folgenden Ziele implementieren IBaseTarget die Schnittstelle:

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

IVisualCalculationTarget kann nur gezielten visuellen Elementen hinzugefügt werden.

IHierarchyLevelAggrTarget, IColumnAggrTarget, IMeasureTargetund IVisualCalculationTarget können (über addDataField API) als ausgeblendete Felder hinzugefügt werden.

Visuelle Berechnung

Verwenden Sie IVisualCalculationTarget , um eine visuelle Berechnung zu einem Visuellen Ziel mit einigen DAX hinzuzufügen. Der Name der visuellen Berechnung ist immer eindeutig. Wenn Sie versuchen, eine visuelle Berechnung mit einem vorhandenen Namen hinzuzufügen, stellt das System sicher, dass der Name eindeutig ist.

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

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,
    hidden?: 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,
    hidden?: 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,
    hidden?: 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"
};