Udostępnij za pośrednictwem


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:

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 tabeli Geo, tak aby w raporcie wyświetlane są tylko dane w regionie Zachodnie.

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 miesiąc OrderDate hierarchii Sales, tak aby tylko dane w regionie West wyświetlane w tym poziomie hierarchii w raporcie.

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