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 zobrazují všechny tabulky v modelu se všemi datovými poli. Data v datových polích můžete seřadit, filtrovat nebo vyfiltrovat, abyste ovlivnili, 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, na které datové pole se má pracovat. K zadání cílového datového pole použijte ITarget , když:
- Vytvoření filtru pomocí rozhraní IFilter
- Nastavení průřezu při zatížení
- Řazení vizuálu
- Přidání datového pole do vizualizace
Cílové typy
Datové pole může být sloupec, úroveň hierarchie, agregovaný sloupec nebo úroveň hierarchie nebo počítanámíra. Mezi cílové typy rozhraní ITarget
patří:
IColumnTarget
IHierarchyLevelTarget
IMeasureTarget
IColumnAggrTarget
IHierarchyLevelAggrTarget
Sloupec
Pomocí objektu IColumnTarget můžete 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 můžete 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>"
}
Measure
K cílení na zadanou míru v tabulce použijte IMeasureTarget . Hodnota percentOfGrandTotal
je nastavena na hodnotu True, pokud je cíl vázán na vizuál a jeho hodnoty jsou zobrazeny 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
Můžete zadat agregační funkce pro cíle na úrovni sloupců a hierarchií. Proměnná aggregationFunction
je volitelná a pokud ji nezadáte, datová pole používají výchozí Sum
agregační funkci. Mezi další podporované hodnoty patří aggregationFunction
:
Avg
DoNotSummarize
Count
CountNonNull
Max
Median
Min
StandardDeviation
Variance
Agregovaný sloupec
Pomocí IColumnAggrTarget zadejte agregační funkci pro zadaný sloupec v tabulce. Hodnota percentOfGrandTotal je nastavena na hodnotu true, pokud je cíl vázán na vizuál a jeho hodnoty se zobrazí 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 zadejte agregační funkci na zadané úrovni hierarchie v rámci hierarchie v tabulce. Hodnota percentOfGrandTotal je nastavena na hodnotu true, pokud je cíl vázán na vizuál a jeho hodnoty se zobrazí 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í target
objekt k určení datového pole, na kterém má filtr reagovat.
Příklad cíle sloupce
Následující příklad kódu použije základní filtr s cílem sloupce na sestavu. Kód funguje ve sloupci Oblast v tabulce Geo , aby se v sestavě zobrazovala pouze data v oblasti Západ .
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íce v hierarchii OrderDate (Datumobjednávky ) tabulky Sales (Prodej ), aby se v sestavě zobrazovala pouze data v oblasti Západ .
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 rozšířený filtr s cílem míry na vizuál. Kód funguje na míru Total Category Volume v tabulce SalesFact , takže se zobrazí 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čet hodnot ve sloupci Store v tabulce Sales :
let columnAggregation = {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "Store",
column: "Sales",
aggregationFunction: "Sum"
};