Adicionar um ícone de aviso de exibição ao seu visual
Em um visual do Power BI, um ícone de aviso de exibição pode notificar o usuário sobre um possível problema ou erro. Exibir ícones de aviso pode ser útil em muitos casos, como:
Um visual de mapa pode exibir um ícone de aviso quando os valores estão fora do intervalo válido de latitude ou longitude.
Um visual de gráfico de pizza pode exibir um ícone de aviso quando estiver exibindo valores negativos misturados com valores positivos.
Um gráfico cartesiano pode exibir um ícone de aviso quando valores infinitos são calculados. Por exemplo, se Y é zero, ao dividir X por Y, o resultado é infinito.
Quando o ícone aparece, o usuário pode passar o mouse sobre ele para ver o título da mensagem de aviso.
Quando o usuário seleciona o ícone de aviso, uma mensagem que descreve o problema aparece em uma janela pop-up.
Criar um ícone de aviso
Você pode criar um ícone de aviso com uma mensagem personalizada para um visual personalizado. A decisão de levantar ou não o ícone de aviso é sua. Como estes exemplos demonstram, o visual continua a funcionar quando o ícone de aviso é exibido.
Adicionar uma chamada ao método de atualização
Para adicionar um ícone de aviso de exibição ao visual, invoque o displayWarningIcon
método. O método faz parte e IVisualHost
é exposto usando powerbi-visuals-api
.
Adicione a seguinte importação ao seu ficheiro:
import powerbiVisualsApi from "powerbi-visuals-api";
Depois de adicionar a importação, adicione uma condição que determine quando exibir o ícone de aviso. Use os exemplos neste artigo para exibir duas condições opcionais.
Exemplo 1: Verificar a compatibilidade linguística
A localização é usada para exibir elementos visuais no idioma nativo do cliente, o que é impedido pelas configurações do sistema operacional.
Neste exemplo, o visual compara o idioma do visual, que é definido como inglês dos EUA, com o idioma do sistema operacional. Se os idiomas não corresponderem, o ícone de aviso será exibido.
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.');
}
Exemplo 2: Comparar cores em colunas adjacentes
Neste exemplo, o ícone de aviso de exibição aparece quando duas colunas próximas uma da outra têm a mesma cor.
O getColumnColorByIndex
método itera através de todas as colunas. Se duas colunas adjacentes tiverem a mesma cor, um ícone de aviso será exibido.
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.');
}
}
Considerações e limitações
Alguns erros e avisos não são causados pelo visual. Por exemplo, os valores Demasiados. O erro de não mostrar todos os dados é derivado do serviço do Power BI. Tais erros e avisos são propagados antes das chamadas do seu visual. Eles têm precedência sobre os erros que se originam do código do seu visual. Se ocorrer um erro durante o carregamento de dados, antes que o código do visual seja executado e a condição do ícone de aviso de exibição seja atendida, o visual exibirá esse erro em vez do erro do ícone de aviso de exibição.
O aviso de exibição é apagado durante cada renderização do visual, por exemplo, quando novos dados são arrastados para o visual. O método do
update()
visual é invocado depois que o visual é renderizado. Se o aviso do visual for gerado com base em uma condição verificada no método de atualização, cada vez que o visual for renderizado, se a condição for atendida, o visual exibirá o aviso novamente.O redimensionamento de um visual não afeta o ícone de aviso.
As limitações a seguir referem-se ao texto do ícone de exibição:
O comprimento máximo do título é de 70 caracteres
O comprimento máximo do texto é de 2.000 caracteres
O texto é exibido apenas como texto sem formatação