AspnetwebformpowerbiEmbed
O Power BI (PBI) é incorporado ao ASP.NET WebForms como modelo AptownData
O relatório está incorporado usando o método "principal do serviço" e não o método "Mestre Usuário"
Arquivando esse repositório como Microsoft incentiva a usar novas tecnologias ASP.NET - MVC e Blazor. Para WebForms especificamente, Blazor é o Recomendamento-https://learn.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/migration
Criei esta amostra de solução no Visual Studio 2017 e o relatório de amostra é retirado de https://github.com/microsoft/powerbi-desktop-samples/tree/master/2018
Para esta demonstração, usei o arquivo "2018su04 blog - abril.pbix"
Existem dois arquivos nos quais os relatórios estão incorporados.
- Default.aspx - que contém relatório sem filtro
- pbiembedded.aspx - que contém relatório com filtro
Apliquei um filtro básico aqui no JavaScript. Para outros filtros, consulte esta documentação https://github.com/microsoft/powerbi-javascript/wiki/filters
O método de implementação é semelhante ao Power Bi - App possui dados (MVC) - https://github.com/microsoft/powerbi-developer-samples/tree/master/app%20owns%20Data
Os arquivos de classe são os mesmos mencionados no aplicativo possui dados (MVC).
Como o método principal do serviço é usado, adicione os valores às seguintes coisas no método Web.config:
AppSsettings
-applicationId
-workspaceId
-reportId
ServicePrincipal
-applicationSecret
-tenant
Antes de incorporar, crie um relatório do Power BI e publique no Power BI O365 Workspace.
Para uma explicação detalhada sobre como configurar o diretor do serviço, verifique este vídeo https://www.youtube.com/watch?v=zhmfpdxliw0
Mas eu, se o vídeo parece dar comprimento, verifique a descrição abaixo sobre como confundi -lo ...
Vá para o Azure Portal
- Vá para o Azure Active Directory -> Registros de aplicativos
- Fornecer nome ao aplicativo
- Para o tipo de conta suportado, selecione "Contas em qualquer diretório organizacional". Esta opção é selecionada porque o aplicativo em que o PBI é incorporado é hospedado de forma independente.
- Forneça um URI redirecionado (opcional) como URL de localhost
- Clique em Registrar e você receberá os seguintes detalhes - ID do aplicativo (cliente), ID do diretório (inquilino), ID do objeto
- Para o segredo do aplicativo, selecione "Certificados e segredos" -> "Novo Secreto do Cliente". Para os portais antigos do Azure, eles têm o nome de "Senha".
- Fornecer descrição e o parâmetro de expiração e clique em Adicionar
- IMPORTANTE - Assim que clicar em Adicionar, você receberá o aplicativo em segredo ao lado do nome da descrição. Copie o segredo imediatamente. Se você pensa, poderá colocar o aplicativo segredo mais tarde, não será possível. Você terá que criar uma nova chave.
- Para permitir que o usuário leia o arquivo Power BI, você precisará fornecer permissões para alimentar APIs BI
- Navegue até permissões de API ou permissões necessárias (portal antigo)
- Sob as permissões da API, clique em "Adicionar uma permissão"
- Selecione "Power BI Service"
- Em "Permissões delegadas" e "Permissões de aplicativos", por enquanto eu dei todas as permissões, mas em breve atualizarei sobre quais permissões são necessárias ou o que não é.
- Agora, novamente em "Azure Active Directory" -> "Grupos" e clique em "New Group"
- Mantenha o tipo de grupo como padrão e dê um nome de grupo
- Sob proprietários, mencione quem será o proprietário do grupo
- Sob membros, mencione o nome do aplicativo que foi registrado anteriormente
- Clique no botão "Criar" agora para criar um grupo
Vá para Power BI Portal sob o365
- Vá para Configurações e depois "Portal Admin"
- Em Portal Admin, vá para "Configurações do inquilino" e nesse "desenvolvedor de desenvolvedores"
- Em "Permitir que os diretores do serviço usem Power BI APIs", ativaram o recurso e mencionar o nome do grupo que foi criado anteriormente e clique em Aplicar
- Agora, em Portal Admin, navegue para espaços de trabalho
- Selecione o espaço de trabalho e clique no acesso
- Mencione o nome do grupo e com o administrador como a função e clique em Adicionar
- Agora, para o ID da área de trabalho e o ID do relatório, abra qualquer relatório do espaço de trabalho
- No URL, após a palavra -chave dos 'grupos', copie o Guid, que será o seu ID do espaço de trabalho
- No URL, após a palavra -chave 'relatórios', copie o Guid, que será o seu ID de relatório
Mencione esses valores no web.config e o código restante ajuda na incorporação do relatório.
Codificação feliz ...