Cambie el nombre del servidor SSAS en la fuente de datos de un informe pbix mediante programación

Un usuario Pregunto ✅

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.

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.

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *