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, počítaná míra nebo výpočet vizuálu. Následující cíle implementují IBaseTarget rozhraní:

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

IVisualCalculationTarget lze přidat pouze do cílových vizuálů.

IHierarchyLevelAggrTarget, IColumnAggrTarget, IMeasureTargeta IVisualCalculationTarget lze je přidat (prostřednictvím addDataField rozhraní API) jako skrytá pole.

Vizuální výpočet

Pomocí IVisualCalculationTarget můžete do cílového vizuálu přidat výpočet vizuálu pomocí některého jazyka DAX. Název výpočtu vizuálu bude vždy jedinečný. Pokud se pokusíte přidat výpočet vizuálu s existujícím názvem, systém zajistí, že název bude jedinečný.

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

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