BIReady
HOLA,
Tenemos un sitio web que se utiliza para mostrar varios informes a varios clientes. Cada cliente tiene su propia base de datos, pero todas las bases de datos tienen exactamente el mismo esquema.
Queremos usar solo un informe con un conjunto de datos de enlace dinámico para mostrar los buenos datos al buen cliente.
Seguimos este artículo: https://docs.microsoft.com/en-us/javascript/api/overview/powerbi/bind-report-datasets
He creado un entorno de prueba con 2 Azure SQL DB. Tengo un informe simple en mi espacio de trabajo (enlace en uno de los DB). Luego he creado otro pbix solo con el otro conjunto de datos para el segundo DB (en el mismo espacio de trabajo)
Cuando solicito el token con el conjunto de datos dinámico, no tengo ningún error en el código posterior (token creado correctamente y objeto ReportEmbedConfig completamente lleno con los enlaces de informes) cualquiera que sea la base de datos que quiera usar. Pero en el frente, para el primer DB (donde creé el informe) funciona bien, pero en el segundo tengo una página en blanco después de un tiempo.
Aquí mi configuración para PowerBi:
La visualización del conjunto de datos que no funcionó:
con la respuesta de console.log:
Entonces el que funciona:
con su respuesta console.log:
En el informe que no se muestra, tengo este error en la consola:
Pero todos los permisos son los mismos en cada base de datos, el espacio de trabajo es el mismo y los conjuntos de datos se han creado exactamente con los mismos parámetros.
¿Alguna idea de lo que pasó? ¿Cómo puedo depurarlo mejor?
Gracias por adelantado.
BIReady
Finalmente encontré el problema. En mi configuración en JS olvidé configurar el datasetBinding:
configuración constante = {
tipo: ‘informe’,
tokenType: modelos.TokenType.Embed,
token de acceso: token de acceso,
incrustar URL: incrustar URL,
id: incrustarReportId,
permisos: modelos.Permisos.Todos,
enlace de conjunto de datos: {
datasetId: datos.dataSetId,
},
datasetId: data.dataSetId, // La identificación del conjunto de datos que desea que use el informe
ajustes: {
// Habilite esta configuración para eliminar los hombros grises del informe incrustado
// fondo: modelos.BackgroundType.Transparent,
filterPaneEnabled: verdadero,
navContentPaneEnabled: verdadero
}
};
BIReady
Finalmente encontré el problema. En mi configuración en JS olvidé configurar el datasetBinding:
configuración constante = {
tipo: ‘informe’,
tokenType: modelos.TokenType.Embed,
token de acceso: token de acceso,
incrustar URL: incrustar URL,
id: incrustarReportId,
permisos: modelos.Permisos.Todos,
enlace de conjunto de datos: {
datasetId: datos.dataSetId,
},
datasetId: data.dataSetId, // La identificación del conjunto de datos que desea que use el informe
ajustes: {
// Habilite esta configuración para eliminar los hombros grises del informe incrustado
// fondo: modelos.BackgroundType.Transparent,
filterPaneEnabled: verdadero,
navContentPaneEnabled: verdadero
}
};