Incorporación de un icono de advertencia de presentación al objeto visual
En un objeto visual de Power BI, un icono de advertencia de presentación puede notificar al usuario un posible problema o un error. Mostrar iconos de advertencia puede servir de ayuda en muchos casos, como:
Un objeto visual de mapa puede mostrar un icono de advertencia cuando los valores estén fuera del rango válido de latitud o longitud.
Un objeto visual de gráfico circular puede mostrar un icono de advertencia cuando muestre valores negativos mezclados con otros positivos.
Un gráfico cartesiano puede mostrar un icono de advertencia cuando se calculen valores infinitos. Por ejemplo, si Y es cero, al dividir X por Y el resultado es infinito.
Cuando aparezca el icono, el usuario puede mantener el puntero sobre él para ver el título del mensaje de advertencia.
Cuando el usuario selecciona el icono de advertencia, aparece un mensaje que describe el problema en una ventana emergente.
Creación de un icono de advertencia
Puede crear un icono de advertencia con un mensaje personalizado para un objeto visual personalizado. La decisión de si se debe generar el icono de advertencia o no la toma el usuario. Como muestran estos ejemplos, el objeto visual sigue funcionando cuando se muestra el icono de advertencia.
Incorporación de una llamada al método update
Para agregar un icono de advertencia de presentación al objeto visual, invoque el método displayWarningIcon
. El método forma parte de IVisualHost
y se expone mediante powerbi-visuals-api
.
Agregue la siguiente importación al archivo:
import powerbiVisualsApi from "powerbi-visuals-api";
Después de agregar la importación, agregue una condición que determine cuándo mostrar el icono de advertencia. Use los ejemplos de este artículo para ver dos condiciones opcionales.
Ejemplo 1: Comprobación de la compatibilidad del idioma
La localización se usa para mostrar los objetos visuales en el idioma nativo del cliente, que lo determina la configuración del sistema operativo.
En este ejemplo, el objeto visual compara el idioma del objeto visual (establecido en inglés de EE. UU.) con el idioma del sistema operativo. Si los idiomas no coinciden, se muestra el icono de advertencia.
if (this.locale != 'en-US') {
this.host.displayWarningIcon('Language inconsistency', 'This visual supports only US English. For the visual to work as expected, set your browser's language to US English.');
}
Ejemplo 2: Comparación de colores en columnas adyacentes
En este ejemplo, aparece el icono de advertencia de presentación cuando dos columnas contiguas entre sí tienen el mismo color.
El método getColumnColorByIndex
recorre en iteración todas las columnas. Si dos columnas adyacentes tienen el mismo color, se muestra un icono de advertencia.
let category = options.dataViews[0].categorical.categories[0];
let dataValue = options.dataViews[0].categorical.values[0];
let colorPalette = this.host.colorPalette;
for (let i = 0, len = Math.max(category.values.length, dataValue.values.length); i < len-1; i++) {
const color1: string = getColumnColorByIndex(category, i, colorPalette);
const color2: string = getColumnColorByIndex(category, i+1, colorPalette);
if (color1 == color2) {
this.host.displayWarningIcon('Adjacent columns have the same color.', 'Columns that are next to each other have the same color. To change a column's color, use the data colors option in the Format tab.');
}
}
Consideraciones y limitaciones
Algunos errores y advertencias no se deben al objeto visual. Por ejemplo, el error Demasiados valores. No se muestran todos los datos se deriva del servicio Power BI. Estos errores y advertencias se propagan antes a las llamadas del objeto visual. Tienen prioridad sobre los errores que se originan en el código del objeto visual. Si se produce un error al cargar datos, antes de que se ejecute el código del objeto visual y de que se cumpla la condición del icono de advertencia de presentación, el objeto visual muestra ese error en lugar del error del icono de advertencia de presentación.
La advertencia de presentación se borra durante cada representación del objeto visual como, por ejemplo, cuando se arrastran datos nuevos al objeto visual. El método
update()
del objeto visual se invoca después de que se represente el objeto visual. Si la advertencia del objeto visual se genera en función de una condición que está activada en el método de actualización, cada vez que se represente el objeto visual, si se cumple la condición el objeto visual vuelve a mostrar la advertencia.El cambio de tamaño de un objeto visual no afecta al icono de advertencia.
Las limitaciones siguientes hacen referencia al texto del icono de presentación:
La longitud máxima del título es de 70 caracteres.
La longitud máxima del texto es de 2000 caracteres.
El texto solo se muestra como texto sin formato.