Compartir a través de


Uso de destinos para seleccionar el campo de datos en el que actuar

En el modo de edición de Power BI, el panel campos de muestra todas las tablas del modelo con todos sus campos de datos. Puede ordenar, filtrar o segmentar datos en los campos de datos para afectar a cómo se muestran los datos en informes, páginas o objetos visuales.

Un filtro de análisis incrustado de Power BI, segmentación o ordenación requiere un objeto de destino que especifique el campo de datos en el que actuar. Use ITarget para proporcionar el campo de datos de destino cuando:

Tipos de destino

Un campo de datos puede ser una columna, un nivel de jerarquía, un nivel agregado columna o jerarquía, o una medida de calculada. Los tipos de destino de la interfaz ITarget incluyen:

  • IColumnTarget
  • IHierarchyLevelTarget
  • IMeasureTarget
  • IColumnAggrTarget
  • IHierarchyLevelAggrTarget

Columna

Use IColumnTarget para establecer como destino la columna especificada en una tabla:

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

Nivel de jerarquía

Use IHierarchyLevelTarget para establecer como destino el nivel de jerarquía especificado dentro de una jerarquía de una tabla:

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

Medir

Use IMeasureTarget para establecer como destino la medida especificada en una tabla. El valor de percentOfGrandTotal se establece en true si el destino está enlazado a un objeto visual y sus valores se muestran como un porcentaje del total general.

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

Funciones de agregación

Puede especificar funciones de agregación para destinos de nivel de columna y jerarquía. La variable aggregationFunction es opcional y, si no la proporciona, los campos de datos usan la función de agregación de Sum predeterminada. Otros valores admitidos para aggregationFunction son:

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

Columna agregada

Use IColumnAggrTarget para especificar una función de agregación en la columna especificada de una tabla. El valor de 'percentOfGrandTotal' se establece en true si el destino está enlazado a un objeto visual y sus valores se muestran como un porcentaje del total general.

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

Nivel de jerarquía agregado

Use IHierarchyLevelAggrTarget para especificar una función de agregación en el nivel de jerarquía especificado dentro de una jerarquía de una tabla. El valor de 'percentOfGrandTotal' se establece en true si el destino está enlazado a un objeto visual y sus valores se muestran como un porcentaje del total general.

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
}

Ejemplos

En los ejemplos de código siguientes se usa el objeto target para especificar el campo de datos en el que debe actuar un filtro.

Ejemplo de destino de columna

En el ejemplo de código siguiente se aplica un filtro básico con un destino de columna a un informe. El código actúa en la columna región de de la tabla geográfica de para que solo se muestren los datos de la región oeste del en el informe.

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

Ejemplo de destino de nivel de jerarquía

En el ejemplo de código siguiente se aplica un filtro básico con un destino de nivel de jerarquía a un informe. El código actúa en el nivel mes de del OrderDate de la tabla Sales para que solo los datos de la región Oeste de se muestren en ese nivel de jerarquía del informe.

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

Ejemplo de destino de medida

En el ejemplo de código siguiente se aplica un filtro avanzado con un destino de medida a un objeto visual. El código actúa en la medida Volumen total de categorías en la tabla SalesFact, por lo que solo aparece cuando el valor no está en blanco.

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

Ejemplo de destino de columna agregada

El código siguiente define un destino de agregación de columnas que es la suma de los valores de la columna Store de de la tabla Sales de :

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