Compartir a través de


Cambio de cadenas de conexión de origen de datos en informes de Power BI con PowerShell: Power BI Report Server

Permitimos la posibilidad de actualizar conexiones para informes de Power BI con DirectQuery y refrescar.

Importante

Este también es un cambio importante en cómo podía configurarlo en versiones anteriores.

Prerrequisitos

  • Descargue la versión más reciente de Power BI Report Server y Power BI Desktop para Power BI Report Server.
  • Un informe guardado con Power BI Desktop optimizado para el Servidor de Informes, con metadatos de conjunto de datos mejorados habilitados.
  • Informe que usa conexiones con parámetros. Solo los informes con conexiones y bases de datos con parámetros se pueden actualizar después de la publicación.
  • En este ejemplo se usan las herramientas de PowerShell de Reporting Services. Puede lograr lo mismo mediante las nuevas API REST.

Crear un informe con conexiones parametrizadas

  1. Cree una conexión de SQL Server a un servidor. En el ejemplo siguiente, nos conectamos al localhost a una base de datos denominada ReportServer y extraemos datos de ExecutionLog.

    Captura de pantalla que muestra Conectarse a la base de datos de SQL Server.

    Este es el aspecto de la consulta M en este punto:

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. Seleccione Administrar parámetros en la cinta del Editor de Power Query.

    Captura de pantalla que muestra la opción Seleccionar Administrar parámetros.

  3. Cree parámetros para el nombre del servidor y el nombre de la base de datos.

    Captura de pantalla que muestra Administrar parámetros, establecer nombredeservidor y nombrede base de datos.

  4. Edite la consulta para la conexión inicial y mapee la base de datos y el nombre del servidor.

    Captura de pantalla que muestra cómo mapear el nombre del servidor y de la base de datos.

    Ahora la consulta tiene el siguiente aspecto:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  5. Publique ese informe en el servidor. En este ejemplo, el informe se denomina executionlogparameter. La imagen siguiente es un ejemplo de una página de administración de orígenes de datos.

    Página de administración del origen de datos.

Actualización de parámetros mediante las herramientas de PowerShell

  1. Abra PowerShell e instale las herramientas más recientes de Reporting Services siguiendo las instrucciones de https://github.com/microsoft/ReportingServicesTools.

  2. Para obtener el parámetro del informe, use la nueva API DataModelParameters de REST mediante la siguiente llamada de PowerShell:

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. Guardamos el resultado de esta llamada en una variable:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Mapear a un diccionario para acceder a los valores de los parámetros.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
  5. Esta variable se actualiza con los valores que necesitamos cambiar.

  6. Actualice los valores de los parámetros deseados:

    $parameterdictionary["ServerName"].Value = 'myproductionserver'
    $parameterdictionary["Databasename"].Value = 'myproductiondatabase'
    
  7. Con los valores actualizados, podemos usar el commandlet Set-RsRestItemDataModelParameters para actualizar los valores en el servidor:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Una vez actualizados los parámetros, el servidor actualiza los orígenes de datos enlazados a los parámetros. Volviendo al cuadro de diálogo Editar origen de datos , debería poder establecer credenciales para el servidor y la base de datos actualizados.

    Captura de pantalla que muestra Establecer credenciales para el servidor y la base de datos actualizados.

¿Más preguntas? Pruebe a preguntar a la comunidad de Power BI