Usar destinos para selecionar em qual campo de dados agir

No modo de edição do Power BI, o painel Campos mostra todas as tabelas no modelo com todos os campos de dados. Você pode classificar, filtrar ou fatiar dados nos campos de dados para afetar como os dados são mostrados em relatórios, páginas ou visuais.

Um filtro de análise integrada do Power BI, uma segmentação ou uma classificação requer um objeto de destino que especifique em qual campo de dados agir. Use do ITarget para fornecer o campo de dados de destino quando você:

Tipos de destino

Um campo de dados pode ser uma coluna, um nível de hierarquia, um nível de coluna ou hierarquia agregado ou umde medida de calculado. Os tipos de destino para a interface ITarget incluem:

  • IColumnTarget
  • IHierarchyLevelTarget
  • IMeasureTarget
  • IColumnAggrTarget
  • IHierarchyLevelAggrTarget

Coluna

Use IColumnTarget para direcionar a coluna especificada em uma tabela:

target: {
    $schema: "http://powerbi.com/product/schema#column",
    table: "<table name>",
    column: "<column name>"
}

Nível de hierarquia

Use IHierarchyLevelTarget para direcionar o nível de hierarquia especificado em uma hierarquia em uma tabela:

target: {
    $schema: "http://powerbi.com/product/schema#hierarchyLevel",
    table: "<table name>",
    hierarchy: "<hierarchy name>",
    hierarchyLevel: "<hierarchy level name>"
}

Medir

Use IMeasureTarget para direcionar a medida especificada em uma tabela. O valor de percentOfGrandTotal será definido como true se o destino estiver associado a um visual e seus valores forem mostrados como uma porcentagem do total geral.

target: {
    $schema: "http://powerbi.com/product/schema#measure",
    table: "<table name>",
    measure: "<measure name>",
    percentOfGrandTotal?: boolean
}

Funções de agregação

Você pode especificar funções de agregação para destinos de nível de coluna e hierarquia. A variável aggregationFunction é opcional e, se você não fornecê-la, os campos de dados usarão a função de agregação padrão Sum. Outros valores com suporte para aggregationFunction são:

  • Avg
  • DoNotSummarize
  • Count
  • CountNonNull
  • Max
  • Median
  • Min
  • StandardDeviation
  • Variance

Coluna agregada

Use IColumnAggrTarget para especificar uma função de agregação na coluna especificada em uma tabela. O valor de 'percentOfGrandTotal' será definido como true se o destino estiver associado a um visual e seus valores forem mostrados como uma porcentagem do total geral.

target: {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "<table name>",
    column: "<column name>",
    aggregationFunction: "<aggregation function>", // Optional, default is Sum.
    percentOfGrandTotal?: boolean
}

Nível de hierarquia agregado

Use IHierarchyLevelAggrTarget para especificar uma função de agregação no nível de hierarquia especificado dentro de uma hierarquia em uma tabela. O valor de 'percentOfGrandTotal' será definido como true se o destino estiver associado a um visual e seus valores forem mostrados como uma porcentagem do total geral.

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
}

Exemplos

Os exemplos de código a seguir usam o objeto target para especificar o campo de dados no qual um filtro deve agir.

Exemplo de destino de coluna

O exemplo de código a seguir aplica um de filtro básico com um destino de coluna a um relatório. O código atua na coluna região da tabela Geográfica para que apenas os dados na região Oeste do sejam mostrados no relatório.

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

Exemplo de destino no nível da hierarquia

O exemplo de código a seguir aplica um filtro básico com um destino de nível de hierarquia a um relatório. O código atua no nível de do mês da hierarquia OrderDate da tabela vendas do para que apenas os dados na região Oeste sejam mostrados nesse nível de hierarquia no relatório.

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

Exemplo de destino de medida

O exemplo de código a seguir aplica um filtro avançado com um destino de medida a um visual. O código atua na medida Volume Total de Categoria na tabela SalesFact para que ele só apareça quando o valor não estiver em branco.

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

Exemplo de destino de coluna agregada

O código a seguir define um destino de agregação de coluna que é a soma dos valores na coluna Store da tabela Sales:

let columnAggregation = {
    $schema: "http://powerbi.com/product/schema#columnAggr",
    table: "Store",
    column: "Sales",
    aggregationFunction: "Sum"
};