Un usuario Pregunto ✅
ajelcocks
He instalado la edición para desarrolladores del servidor de informes powerbi localmente siguiendo las instrucciones aquí https://docs.microsoft.com/en-us/power-bi/report-server/install-report-server
Descargué power bi desktop fior RS según las instrucciones
Luego creé un informe simple.
Finalmente creé una página web muy simple en VS Code y la lancé usando lite-server.
html es:
<html>
<cabeza>
<texto src=«./dist/powerbi.js»></texto>
<texto src=«./dist/bundle.js»></texto>
cabeza>
<cuerpo>
<h3>powerbi liteh3>
<botón identificación=«pageButton»>getPagebotón>
<div identificación=«gráficos»>gráficosdiv>
cuerpo>
html>
javascript es
ventana.onload = comienzo;
constante PBI_URL = «http: // localhost: 4010 / powerbi /»;
constante REPORT_ID = «39af5e1d-c919-4594-ad6a-ee772f734d3d»;
dejar reportUrl = ‘PSPBI_URL}? rs: embed = true & id =PSREPORT_ID}& formatLocale = en-US`;
función comienzo() {
dejar envase = documento.getElementById(«gráficos»);
dejar modelos = ventana[«powerbi-client»].modelos;
var config = {
escribe: «reporte»,
tokenType: modelos.TokenType.Empotrar,
accessToken: «123»,
embedUrl: reportUrl,
identificación: REPORT_ID,
permisos: modelos.Permisos.Todo,
ajustes: {
filterPaneEnabled: cierto,
navContentPaneEnabled: cierto
}
};
dejar reporte = ventana.powerbi.empotrar(envase, config);
reporte.sobre(«cargado», función() {
consola.Iniciar sesión(«Informe cargado»);
});
documento.getElementById(«pageButton»).al hacer clic = getPage;
}
función getPage() {
dejar envase = documento.getElementById(«gráficos»);
dejar reporte = ventana.powerbi.obtener(envase);
reporte.eventHandlers[0].resolver();
reporte.getPages().entonces(función(paginas) {
consola.Iniciar sesión(paginas);
});
}
La página se carga en un iframe creado en el contenedor, como se esperaba, pero el evento cargado no fuego.
También agrego un botón como disparador para invocar un código manualmente, es decir, la función getPage ()
Esto muestra que el controlador se agregó cuando la invocación de handle () se imprime en la consola.
Sin embargo, la promesa de report.getPages () no se activa.
Parece que ninguno de los mensajes enviados está funcionando.
Ejecuté Fiddler y no se registran llamadas de API cuando hago clic en el botón.
¿Alguien tiene experiencia con esto? o conocimiento de un recurso que pueda aprovechar?
Gracias 🙂