Partilhar via


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.

A screenshot showing a warning icon in a Power BI visual.

Quando o usuário seleciona o ícone de aviso, uma mensagem que descreve o problema aparece em uma janela pop-up.

A screenshot showing a warning message triggered by selecting a warning icon in a Power BI visual.

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.'); 
        }

A screenshot showing the language mismatch warning message.

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

DataViewUtils