Aprimorar a experiência dos usuários com indicadores
Os indicadores de relatório no Power BI permitem capturar o estado atual de uma página de relatório inserida, incluindo todos os filtros e o estado de seus visuais. Ao abrir o relatório posteriormente, você pode selecionar um indicador para restaurar o relatório para o estado salvo. Os desenvolvedores podem controlar a experiência do usuário usando as APIs de cliente do Power BI para capturar e aplicar indicadores.
Um indicador salvo pode ser um indicador que foi salvo como parte de um relatório ou um indicador que foi capturado como um estado em tempo real de um relatório. Se você aplicar um indicador salvo ao carregar um relatório, poderá especificar o indicador a ser usado fornecendo o nome do indicador ou seu estado. Se você fornecer um indicador por nome, seu relatório precisará conter um indicador salvo com esse mesmo nome.
Este artigo explica as diferentes configurações de API que você precisará para inserir relatórios que dão suporte a indicadores.
Nota
Em relatórios que você insira para sua organização, informe que os consumidores criam indicadores pessoais capturando o estado do relatório e retornando rapidamente a esse estado selecionando o indicador. Consulte Indicadores pessoais para obter mais informações.
Para obter informações sobre como criar uma experiência semelhante em relatórios que você inseriu para seus clientes, consulte a exibição de relatório de captura no playground de análise integrada do Power BI.
Para obter mais informações sobre como usar indicadores no Power BI, consulte Criar indicadores no Power BI Desktop.
Para obter informações sobre como usar indicadores pessoais ao inserir o Power BI, consulte Indicadores pessoais.
Como usar indicadores de relatório
As seções a seguir mostram como usar as APIs de cliente do Power BI para trabalhar com indicadores de relatório.
Gerenciar indicadores de um relatório
Para gerenciar os indicadores de um relatório, use a propriedade bookmarksManager
de uma instância de relatório inserida.
A classe BookmarksManager tem os seguintes métodos:
getBookmarks
- Retorna uma lista de indicadores salvos associados ao relatório.apply
– aplica por nome um indicador salvo anteriormente ao relatório.capture
– captura e retorna uma cadeia de caracteres de serialização base64, que representa o estado atual do relatório.applyState
Aplica um estado de serialização base64 capturado anteriormente de um indicador ao relatório.play
– Controla o modo de apresentação da apresentação de slides para os indicadores do relatório.
Acessar um indicador de relatório
Para acessar um indicador individual, use o método getBookmarks
para acessar uma lista de objetos ReportBookmark
.
A classe ReportBookmark
tem as seguintes propriedades:
name
– o identificador exclusivo do indicador de relatório.- O nome de exibição do indicador de relatório, que aparece no painel indicadores . state
– uma serialização base64 do estado do indicador de relatório. Você pode salvá-lo e aplicá-lo a um relatório com o métodobookmarksManager.applyState
.children
- Uma lista de objetosReportBookmark
que representam um grupo de indicadores de relatório, se existir.
Usar as APIs de indicadores de relatório
Em um relatório inserido, os desenvolvedores podem:
- Obter uma lista de indicadores de relatório salvos.
- Aplicar um indicador salvo por nome na carga do relatório ou durante uma sessão.
- Capturar e obter um modo de exibição atual como um objeto de indicador.
- Aplicar um estado de indicador capturado na carga do relatório ou durante uma sessão
- Executar lógica adicional quando um indicador de relatório é aplicado.
- Mostrar ou ocultar o painel Indicadores.
- o modo de apresentação de slides Enter ou exit bookmarks.
Obter uma lista de indicadores de relatório salvos
Para obter a lista de indicadores salvos associados a um relatório, chame o método
O método getBookmarks
é definido da seguinte maneira:
getBookmarks(): Promise<models.IReportBookmark[]>
Por exemplo:
let bookmarks = await report.bookmarksManager.getBookmarks();
Aplicar um indicador salvo por nome na carga do relatório ou durante uma sessão
Para aplicar um indicador salvo anteriormente a um relatório usando seu nome de indicador, chame o método
Para obter mais informações, consulte Definir configurações de relatório.
O método apply
é definido da seguinte maneira:
apply(bookmarkName: string): Promise<void>
Por exemplo:
await report.bookmarksManager.apply("Bookmark1234");
Capturar e obter uma exibição atual como um objeto de indicador
Para capturar o estado atual de um relatório como uma cadeia de caracteres base64, chame o método capture
retorna um objeto IReportBookmark
, que representa um indicador que não é salvo em um relatório específico. Use a propriedade IReportBookmark.state
para retornar a cadeia de caracteres base64 identificando o estado do indicador, que você pode aplicar posteriormente a um relatório durante o tempo de carregamento ou o tempo de execução.
O método capture
é definido da seguinte maneira:
capture(options?:ICaptureBookmarkOptions): Promise<models.IReportBookmark>
Por exemplo:
let capturedBookmark = await report.bookmarksManager.capture();
Opções de indicador de captura
Você também pode passar um objeto ICaptureBookmarkOptions
para o método capture
.
interface ICaptureBookmarkOptions {
allPages?: boolean;
personalizeVisuals?: boolean;
}
-
allPages
- Por padrão, o estado do indicador capturado salvará apenas o estado da página atual. Para capturar o estado de todas as páginas, chamecapture
método comallPages
opção definida comotrue
. -
personalizeVisuals
– Para capturar o estado atual com visuais personalizados, chame o métodocapture
com a opçãopersonalizeVisuals
definida comotrue
.
Por exemplo, o código a seguir captura o estado de todas as páginas, incluindo os visuais personalizados:
let capturedBookmark = await report.bookmarksManager.capture({
allPages: true,
personalizeVisuals: true
});
Aplicar um estado de indicador capturado na carga do relatório ou durante uma sessão
Para aplicar um estado de indicador capturado anteriormente a um relatório, use o método applyState
de um objeto BookmarksManager.
Para obter mais informações, consulte Definir configurações de relatório.
O método applyState
é definido da seguinte maneira:
applyState(state: string): Promise<void>
Por exemplo:
await report.bookmarksManager.applyState(capturedBookmark.state);
Executar lógica adicional quando um indicador de relatório é aplicado
Para determinar quando um indicador de relatório foi aplicado, ouça o evento bookmarkApplied
chamando o método on
do relatório objeto.
Por exemplo:
report.on("bookmarkApplied", (event) => {
console.log(event.detail.name);
});
Mostrar ou ocultar o painel Indicadores
Para mostrar ou ocultar o painel indicadores do Power BI
Mostrar o painel Indicadores
let embedConfig = {
...
panes: {
bookmarks: {
visible: true
}
}
};
Ocultar o painel Indicadores
let embedConfig = {
...
panes: {
bookmarks: {
visible: false
}
}
};
Para obter informações sobre como atualizar as configurações de relatório, consulte Definir configurações de relatório.
Inserir ou sair do modo de apresentação de slides de indicadores
Para controlar o modo de apresentação de apresentação de slides para os indicadores de um relatório, chame o método play
de um objeto BookmarksManager. Para obter mais informações, consulte Indicadores como uma apresentação de slides.
O método play
é definido da seguinte maneira:
play(playMode: models.BookmarksPlayMode): Promise<void>
Nota
Antes de inserir o modo de apresentação de slides de indicadores, verifique se há pelo menos um indicador no relatório com a API getBookmarks.
Insira o modo de apresentação da apresentação de apresentação de slides
await report.bookmarksManager.play(models.BookmarksPlayMode.Presentation);
Sair do modo de apresentação de apresentação de apresentação de slides
await report.bookmarksManager.play(models.BookmarksPlayMode.Off);
Considerações e limitações
Quando você usa a API de indicadores, determinadas alterações no relatório podem causar um erro ou um resultado inesperado. Um exemplo disso é remover filtros de relatório do relatório. Para evitar erros, os cartões de filtro correspondentes devem estar presentes. Em vez de remover os filtros, defina seus valores como
All
. Se você não souber quais filtros foram excluídos ou alterados, recapture o indicador depois de aplicar as alterações ao relatório.Filtros como em filtros de carga criados pela sessão de inserção ou adicionados pelos filtros de atualização adicionam a operação, são capturados no estado do indicador, mas serão aplicados somente na sessão atual. Para superar essa limitação, o filtro deve ser salvo no relatório com o valor
All
e modificado na sessão de inserção usando a operação de atualização de filtros de atualização .
Conteúdo relacionado
- filtros de relatório de controle de
- segmentações de relatório de controle de
- Como lidar com eventos