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ž:
- Vytvoření filtru pomocí rozhraní IFilter
- Nastavení průřezu při načtení
- Řazení vizuálních
- Přidání datového pole do vizualizace
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"
};