Użyj elementów docelowych, aby wybrać pole danych do działania
W trybie edycji usługi Power BI okienko Pola pokazuje wszystkie tabele w modelu ze wszystkimi polami danych. Możesz sortować, filtrować lub fragmentować dane w polach danych, aby wpływać na sposób, w jaki dane są wyświetlane w raportach, stronach lub wizualizacjach.
Filtr, fragmentator lub sortowanie osadzonej analizy usługi Power BI wymaga obiektu docelowego określającego, na które pole danych ma działać. Użyj ITarget, aby podać pole danych docelowych w następujących przypadkach:
- Konstruowanie filtru za pomocą interfejsu IFilter
- Ustawianie fragmentatora podczas ładowania
- Sortuj wizualizację
- Dodawanie pola danych do wizualizacji
Typy docelowe
Pole danych może być kolumną, poziomem hierarchii, zagregowanym kolumną lub poziomem hierarchii albo miarą obliczaną . Typy docelowe interfejsu ITarget
obejmują:
IColumnTarget
IHierarchyLevelTarget
IMeasureTarget
IColumnAggrTarget
IHierarchyLevelAggrTarget
Kolumna
Użyj IColumnTarget, aby wskazać określoną kolumnę w tabeli:
target: {
$schema: "http://powerbi.com/product/schema#column",
table: "<table name>",
column: "<column name>"
}
Poziom hierarchii
Użyj IHierarchyLevelTarget, aby określić poziom hierarchii w hierarchii w tabeli:
target: {
$schema: "http://powerbi.com/product/schema#hierarchyLevel",
table: "<table name>",
hierarchy: "<hierarchy name>",
hierarchyLevel: "<hierarchy level name>"
}
Miara
Użyj IMeasureTarget, aby określić określoną miarę w tabeli. Wartość percentOfGrandTotal
jest ustawiona na wartość true, jeśli element docelowy jest powiązany z wizualizacją, a jego wartości są wyświetlane jako procent sumy końcowej.
target: {
$schema: "http://powerbi.com/product/schema#measure",
table: "<table name>",
measure: "<measure name>",
percentOfGrandTotal?: boolean
}
Funkcje agregacji
Funkcje agregacji można określić dla celów na poziomie kolumny i hierarchii. Zmienna aggregationFunction
jest opcjonalna, a jeśli jej nie podasz, pola danych używają domyślnej funkcji agregacji Sum
. Inne obsługiwane wartości dla aggregationFunction
to:
Avg
DoNotSummarize
Count
CountNonNull
Max
Median
Min
StandardDeviation
Variance
Kolumna zagregowana
Użyj IColumnAggrTarget, aby określić funkcję agregacji w określonej kolumnie w tabeli. Wartość "percentOfGrandTotal" jest ustawiona na wartość true, jeśli element docelowy jest powiązany z wizualizacją, a jej wartości są wyświetlane jako procent sumy końcowej.
target: {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "<table name>",
column: "<column name>",
aggregationFunction: "<aggregation function>", // Optional, default is Sum.
percentOfGrandTotal?: boolean
}
Poziom hierarchii zagregowanej
Użyj IHierarchyLevelAggrTarget, aby określić funkcję agregacji na określonym poziomie hierarchii w hierarchii w tabeli. Wartość "percentOfGrandTotal" jest ustawiona na wartość true, jeśli element docelowy jest powiązany z wizualizacją, a jej wartości są wyświetlane jako procent sumy końcowej.
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
}
Przykłady
Poniższe przykłady kodu używają obiektu target
, aby określić pole danych, na które powinien działać filtr.
Przykład docelowy kolumny
Poniższy przykład kodu stosuje podstawowy filtr z kolumną docelową do raportu. Kod działa na kolumnie region
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"]
};
Przykład docelowy na poziomie hierarchii
Poniższy przykład kodu stosuje podstawowy filtr z docelowym poziomem hierarchii do raportu. Kod działa na poziomie
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"]
};
Przykład miary docelowej
Poniższy przykład kodu stosuje zaawansowany filtr z celem miary do wizualizacji. Kod działa na miarę Total Category Volume w tabeli SalesFact, aby była wyświetlana tylko wtedy, gdy wartość nie jest pusta.
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"
}]
}
Przykład docelowy zagregowanej kolumny
Poniższy kod definiuje docelowy agregacji kolumny, który jest sumą wartości w kolumnie Store tabeli Sales:
let columnAggregation = {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "Store",
column: "Sales",
aggregationFunction: "Sum"
};
Powiązana zawartość
- filtry raportów kontroli
- fragmentatory raportów kontroli
- Sortuj wizualizację według pola danych docelowych