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:
- Construcción de un filtro con la interfaz de IFilter de
- Establecer una segmentación de datos en el de carga
- Ordenar un visual
- Agregar un campo de datos a un de visualización
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
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
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
let columnAggregation = {
$schema: "http://powerbi.com/product/schema#columnAggr",
table: "Store",
column: "Sales",
aggregationFunction: "Sum"
};