Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Con los marcadores de informes de Power BI, puede capturar y guardar una vista configurada de una página del informe. Luego, puede volver a la vista guardada de manera rápida y sencilla siempre que quiera. El marcador guarda toda la configuración, incluidos las selecciones y los filtros.
Para obtener más información sobre los marcadores, consulte Uso de marcadores para compartir información detallada y crear historias en Power BI.
Un objeto visual de Power BI que admite marcadores debe ser capaz de guardar y proporcionar la información correcta cuando sea necesario. Si el objeto visual interactúa con otros objetos visuales, selecciona puntos de datos o filtra otros objetos visuales, tendrá que guardar el estado marcado en las propiedades filterState del objeto visual.
Nota
Para crear un objeto visual que admita marcadores, se necesita lo siguiente:
SelectionManager
.apiVersion
en el archivo pbiviz.json.Imagine que quiere crear varios marcadores en la página de un informe, cada uno con diferentes puntos de datos seleccionados.
En primer lugar, seleccione uno o varios puntos de datos en el objeto visual. El objeto visual pasará las selecciones al host. A continuación, seleccione Agregar en el panel Marcador. Power BI guarda las opciones seleccionadas para el nuevo marcador.
Haga esto varias veces para crear nuevos marcadores. Después de crear los marcadores, puede cambiar entre ellos.
Cada vez que selecciona un marcador, Power BI restaura el estado de selección o filtro guardado y lo pasa a los objetos visuales. Los objetos visuales del informe se resaltan o filtran según el estado almacenado en el marcador. Para restaurar el estado correcto, el objeto visual debe pasar el estado de selección correcto al host (por ejemplo, los colores de los puntos de datos representados).
El nuevo estado de selección (o filtro) se comunica mediante la propiedad options.jsonFilters
del método update
. jsonFilters
puede ser Advanced Filter
o Tuple Filter
.
registerOnSelectCallback
, en ISelectionManager
.Nota
InteractivityService ha quedado en desuso.
Si el objeto visual interactúa con otros objetos visuales mediante Selection, puede agregar la compatibilidad con el marcador de una de estas dos maneras:
applySelectionFromFilter
. Este método está en desuso.Si el objeto visual usa InteractivityService, no necesita ninguna otra acción para admitir los marcadores del objeto visual.
Al seleccionar un marcador, la utilidad controla de forma automática el estado de selección del objeto visual.
Puede guardar y recuperar selecciones de marcadores mediante el ISelectionManager.registerOnSelectCallback
método como se indica a continuación:
Al seleccionar un marcador, Power BI llama al método callback
del objeto visual con las selecciones correspondientes.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
//called when a selection was set by Power BI
});
);
Imagine que ha creado un punto de datos en el método visualTransform del objeto visual.
El aspecto de datapoints
es similar al siguiente:
visualDataPoints.push({
category: categorical.categories[0].values[i],
color: getCategoricalObjectValue<Fill>(categorical.categories[0], i, 'colorSelector', 'fill', defaultColor).solid.color,
selectionId: host.createSelectionIdBuilder()
.withCategory(categorical.categories[0], i)
.createSelectionId(),
selected: false
});
Ahora tiene visualDataPoints
como puntos de datos y la matriz ids
que ha pasado a la función callback
.
En este punto, el objeto visual debe comparar la matriz de ISelectionId[]
con la selección de la matriz de visualDataPoints
y marcar como seleccionados los puntos de datos que correspondan.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
visualDataPoints.forEach(dataPoint => {
ids.forEach(bookmarkSelection => {
if (bookmarkSelection.equals(dataPoint.selectionId)) {
dataPoint.selected = true;
}
});
});
});
);
Tras actualizar los puntos de datos, reflejarán el estado de selección actual almacenado en el objeto filter
. Luego, cuando se representen los puntos de datos, el estado de selección del objeto visual personalizado coincidirá con el del marcador.
Supongamos que el objeto visual crea un filtro de datos por intervalo de fechas. Tiene startDate
y endDate
como las fechas de inicio y finalización del intervalo.
El objeto visual crea un filtro avanzado y llama al método de host applyJsonFilter
para filtrar los datos según las condiciones pertinentes.
El destino es la tabla que se usa para filtrar.
import { AdvancedFilter } from "powerbi-models";
const filter: IAdvancedFilter = new AdvancedFilter(
target,
"And",
{
operator: "GreaterThanOrEqual",
value: startDate
? startDate.toJSON()
: null
},
{
operator: "LessThanOrEqual",
value: endDate
? endDate.toJSON()
: null
});
this.host.applyJsonFilter(
filter,
"general",
"filter",
(startDate && endDate)
? FilterAction.merge
: FilterAction.remove
);
Cada vez que selecciona un marcador, el objeto visual personalizado recibe una llamada de update
.
En el método update
, el objeto visual comprueba el filtro en el objeto:
const filter: IAdvancedFilter = FilterManager.restoreFilter(
&& options.jsonFilters
&& options.jsonFilters[0] as any
) as IAdvancedFilter;
Si el objeto filter
no es NULL, el objeto visual restaura las condiciones de filtro del objeto:
const jsonFilters: AdvancedFilter = this.options.jsonFilters as AdvancedFilter[];
if (jsonFilters
&& jsonFilters[0]
&& jsonFilters[0].conditions
&& jsonFilters[0].conditions[0]
&& jsonFilters[0].conditions[1]
) {
const startDate: Date = new Date(`${jsonFilters[0].conditions[0].value}`);
const endDate: Date = new Date(`${jsonFilters[0].conditions[1].value}`);
// apply restored conditions
} else {
// apply default settings
}
Después, el objeto visual cambia su estado interno para reflejar las condiciones actuales. El estado interno incluye los puntos de datos y los objetos de visualización (líneas, rectángulos, etc.).
El objeto visual Timeline Slicer cambia el selector de intervalo a los intervalos de datos correspondientes.
Además de guardar las condiciones del filtro para el marcador, también puede guardar otros aspectos del filtro.
Por ejemplo, Timeline Slicer almacena los valores de la propiedad Granularity
como un estado de filtro. Permite que la granularidad de la escala de tiempo (días, meses, años, etc.) cambie a medida que se cambian los marcadores.
La propiedad filterState
guarda un aspecto de filtro como una propiedad. El objeto visual puede almacenar distintos valores filterState
en marcadores.
Para guardar el valor de una propiedad como un estado de filtro, establezca la propiedad del objeto como "filterState": true
en el archivo capabilities.json.
Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másCursos
Módulo
Sigue los ejercicios para aprender a importar objetos visuales personalizados y añadir marcadores a un informe.
Certificación
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demostrar métodos y procedimientos recomendados que se alinean con los requisitos empresariales y técnicos para modelar, visualizar y analizar datos con Microsoft Power BI.
Documentación
Incorporar un menú contextual a un objeto visual personalizado de Power BI - Power BI
Aprenda a usar el objeto visual BarChart de ejemplo para agregar un menú contextual que se muestre en un objeto visual de Power BI.
Selecciones de puntos de datos de objetos visuales de Power BI - Power BI
Aprenda a usar el administrador de selección para agregar selecciones de punto de datos a objetos visuales de Power BI y convertirlos en interactivos.
Creación de un cuadro de diálogo en un objeto visual de Power BI - Power BI
Aprenda a crear un cuadro de diálogo en un objeto visual de Power BI para mostrar información adicional al cliente en una ventana independiente.