Sdílet prostřednictvím


Výběr datového pole, na kterém se má jednat, použijte cíle.

V režimu úprav Power BI se v podokně Pole zobrazí všechny tabulky v modelu se všemi jejich datovými poli. Data v datových polích můžete řadit, filtrovat nebo vyfiltrovat, abyste měli vliv na to, jak se data zobrazují v sestavách, stránkách nebo vizuálech.

Filtr, průřez nebo řazení vložených analytických možností Power BI vyžaduje cílový objekt, který určuje, které datové pole se má chovat. K zadání cílového datového pole použijte ITarget, když:

Cílové typy

Datové pole může být sloupec, úroveň hierarchie, agregovaná úroveň sloupce nebo hierarchie nebo počítaná míra. Mezi cílové typy rozhraní ITarget patří:

  • IColumnTarget
  • IHierarchyLevelTarget
  • IMeasureTarget
  • IColumnAggrTarget
  • IHierarchyLevelAggrTarget

Sloupec

Pomocí IColumnTarget cílit na zadaný sloupec v tabulce:

target: {
    $schema: "http://powerbi.com/product/schema#column",
    table: "<table name>",
    column: "<column name>"
}

Úroveň hierarchie

Pomocí IHierarchyLevelTarget cílit na zadanou úroveň hierarchie v hierarchii v tabulce:

target: {
    $schema: "http://powerbi.com/product/schema#hierarchyLevel",
    table: "<table name>",
    hierarchy: "<hierarchy name>",
    hierarchyLevel: "<hierarchy level name>"
}

Měřit

Pomocí IMeasureTarget cílit na zadanou míru v tabulce. Hodnota percentOfGrandTotal je nastavena na hodnotu true, pokud je cíl svázán s vizuálem a jeho hodnoty se zobrazí jako procento celkového součtu.

target: {
    $schema: "http://powerbi.com/product/schema#measure",
    table: "<table name>",
    measure: "<measure name>",
    percentOfGrandTotal?: boolean
}

Agregační funkce

Pro cíle na úrovni sloupce a hierarchie můžete zadat agregační funkce. Proměnná aggregationFunction je volitelná a pokud ji nezadáte, datová pole používají výchozí Sum agregační funkci. Další podporované hodnoty pro aggregationFunction jsou:

  • Avg
  • DoNotSummarize
  • Count
  • CountNonNull
  • Max
  • Median
  • Min
  • StandardDeviation
  • Variance

Agregovaný sloupec

Pomocí IColumnAggrTarget určit agregační funkci v zadaném sloupci tabulky. Hodnota percentOfGrandTotal je nastavena na hodnotu true, pokud je cíl vázán na vizuál a jeho hodnoty se zobrazují jako procento celkového součtu.

target: {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "<table name>",
    column: "<column name>",
    aggregationFunction: "<aggregation function>", // Optional, default is Sum.
    percentOfGrandTotal?: boolean
}

Agregovaná úroveň hierarchie

Pomocí IHierarchyLevelAggrTarget určit agregační funkci na zadané úrovni hierarchie v hierarchii v tabulce. Hodnota percentOfGrandTotal je nastavena na hodnotu true, pokud je cíl vázán na vizuál a jeho hodnoty se zobrazují jako procento celkového součtu.

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
}

Příklady

Následující příklady kódu používají objekt target k určení datového pole, se kterým má filtr pracovat.

Příklad cíle sloupce

Následující příklad kódu použije základní filtr s cílem sloupce do sestavy. Kód funguje ve sloupci Oblast tabulky Geografické tak, aby se v sestavě zobrazovala jenom data v oblasti 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"]
};

Příklad cíle na úrovni hierarchie

Následující příklad kódu použije základní filtr s cílem na úrovni hierarchie na sestavu. Kód funguje na úrovni Měsíc hierarchie OrderDate tabulky Sales tak, aby se v sestavě zobrazovala pouze data v oblasti 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"]
};

Příklad cíle míry

Následující příklad kódu použije pokročilý filtr s cílem míry na vizuál. Kód funguje na míru Total Category Volume v tabulce SalesFact tak, aby se zobrazila pouze v případech, kdy hodnota není prázdná.

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

Příklad cíle agregovaného sloupce

Následující kód definuje cíl agregace sloupce, který je součtem hodnot ve sloupci Store tabulky Sales:

let columnAggregation = {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "Store",
    column: "Sales",
    aggregationFunction: "Sum"
};