reggdsouza
Hola a todos,
Con esta solución, pude cargar un informe pbix en un servidor de informes sin problemas. Luego intenté actualizar la información de la fuente de datos haciendo lo siguiente:
var dsInfo = rs.GetItemDataSources(report.Output + "https://community.powerbi.com/" + report.Name); //gets the data source of the report var dsReference = (DataSourceDefinition) dsInfo[0].Item; //references the data source dsReference.ConnectString = newConnectionString; //updates the connection string of the reference dsReference.CredentialRetrieval = CredentialRetrievalEnum.Store; //sets credential retrieval value to store dsReference.WindowsCredentials = true; //sets windowsCredential property to true dsReference.UserName = username; //sets the user name through the report will be accessed dsReference.Password = password; //sets the password through which the report will be accessed DataSource df = new DataSource(); //creates a new datasource df.Item = dsReference; //assigns the reference datasource to the new datasource df.Name = dsInfo[0].Name; //assigns the reference datasource name to the new datasource name rs.SetItemDataSources(report.Output + "https://community.powerbi.com/" + report.Name, new DataSource[] {df}); //replaces the datasource for the report Console.WriteLine($"Report {report.Name} datasource updated...");
El código anterior funciona bien cuando accedemos al informe a través del portal de informes. Sin embargo, cuando abro el informe usando «Editar en Power BI Desktop», arroja un error que dice que el nombre del servidor es incorrecto. Al hacer clic en editar, me muestra una pantalla donde puedo actualizar el nombre del servidor SSAS. Una vez que se actualiza el nombre del servidor, el informe funciona como se esperaba.
¿Qué debo hacer para actualizar también el valor del nombre del servidor en el archivo pbix? Se actualiza con el código anterior en el portal web (Report Works), pero el nombre del servidor permanece sin cambios al usar Power BI Desktop.
v-yulgu-msft
Hola @reggdsouza,
Dado que el archivo PBIX no es un archivo xml sencillo como el informe rdl de SSRS, no es posible actualizar la fuente de datos en el archivo pbix mediante programación.
Atentamente,
Yuliana Gu
reggdsouza
En respuesta a v-yulgu-msft
Gracias por la respuesta @v-yulgu-msft. Lo aprecio.
¿Tiene alguna recomendación para cargar informes desde y hacia diferentes entornos? Por ejemplo, dev para probar a prod? Tenemos algunos informes de pbix que se actualizan todas las semanas en el entorno de desarrollo y deben cargarse en el entorno de producción. El entorno de producción también tiene diferentes informes personalizados que no existen en la prueba. Por lo tanto, no podemos reemplazar toda la base de datos de informes.
Nos gustaría encontrar una manera de automatizar este proceso de mover informes de un entorno a otro. Cualquier sugerencia muy apreciada. ¡¡Gracias!!
reggdsouza
En respuesta a reggdsouza
¿Alguna idea o sugerencia sobre esto todavía?
xferión
En respuesta a reggdsouza
Vota por esta idea.
v-yulgu-msft
Hola @reggdsouza,
Según mi conocimiento, no está disponible para configurar/actualizar la fuente de datos en el archivo pbix programáticamente.
Consultaré con alguien más familiarizado con esto, una vez que obtenga alguna respuesta, les daré una actualización.
Saludos,
Yuliana Gu
reggdsouza
¡Cualquier información apreciada!
reggdsouza
Hola a todos,
Con esta solución, pude cargar un informe pbix en un servidor de informes sin problemas. Luego intenté actualizar la información de la fuente de datos haciendo lo siguiente:
var dsInfo = rs.GetItemDataSources(report.Output + "https://community.powerbi.com/" + report.Name); //gets the data source of the report var dsReference = (DataSourceDefinition) dsInfo[0].Item; //references the data source dsReference.ConnectString = newConnectionString; //updates the connection string of the reference dsReference.CredentialRetrieval = CredentialRetrievalEnum.Store; //sets credential retrieval value to store dsReference.WindowsCredentials = true; //sets windowsCredential property to true dsReference.UserName = username; //sets the user name through the report will be accessed dsReference.Password = password; //sets the password through which the report will be accessed DataSource df = new DataSource(); //creates a new datasource df.Item = dsReference; //assigns the reference datasource to the new datasource df.Name = dsInfo[0].Name; //assigns the reference datasource name to the new datasource name rs.SetItemDataSources(report.Output + "https://community.powerbi.com/" + report.Name, new DataSource[] {df}); //replaces the datasource for the report Console.WriteLine($"Report {report.Name} datasource updated...");
El código anterior funciona bien cuando accedemos al informe a través del portal de informes. Sin embargo, cuando abro el informe usando «Editar en Power BI Desktop», arroja un error que dice que el nombre del servidor es incorrecto. Al hacer clic en editar, me muestra una pantalla donde puedo actualizar el nombre del servidor SSAS. Una vez que se actualiza el nombre del servidor, el informe funciona como se esperaba.
¿Qué debo hacer para actualizar también el valor del nombre del servidor en el archivo pbix? Se actualiza con el código anterior en el portal web (Report Works), pero el nombre del servidor permanece sin cambios al usar Power BI Desktop.