Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
9 years ago
Solved

Changing the Power query SQL Server database settings when moving an Excel workbook

HIi

 

I'm working on creating an excel report that collects data from a local copy of a SQL Server database on my maschine, where I use Power Query to retrieve the data. These are then loaded into a PowerPivot data model. Now I'm finished with the development and on my way to put this into production on another server on the customer's server. The Excel workbook must change database settings using sql server database user Connection (not integrated). I had hoped that I could change the database Connection Properties at the Data tab, but there are not any easy way to change the connection string to the new server. Now I can't see any option that going through every Power Query query and change them manually. I have great hope that you Power Query experts have a Nice explaination and an example how I can solve this.

Regards Geir F

  • Anonymous's avatar
    Anonymous
    9 years ago

    Hi Anonymous,

     

    You can refer to below method: use custom function and query parameters to load data.

     

    Custom function:

     

    let
        Custom= (ServerName as text,DataSource as text, SQLQuery as text) as table=>
        let
            Source = Sql.Database(ServerName, DataSource,[Query=SQLQuery])
        in
            Source
    in
        Custom

     

     

    Parameters:

     

     

    Use:

    let
        Source = LoadData(ParaServerName,ParaDataSource,ParaQuery)
    in
        Source

     

     

    After above steps, you can modify the parameters to change the datasource.

     

    Regards,

    Xiaoxin Sheng

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous,

     

    You can refer to below method: use custom function and query parameters to load data.

     

    Custom function:

     

    let
        Custom= (ServerName as text,DataSource as text, SQLQuery as text) as table=>
        let
            Source = Sql.Database(ServerName, DataSource,[Query=SQLQuery])
        in
            Source
    in
        Custom

     

     

    Parameters:

     

     

    Use:

    let
        Source = LoadData(ParaServerName,ParaDataSource,ParaQuery)
    in
        Source

     

     

    After above steps, you can modify the parameters to change the datasource.

     

    Regards,

    Xiaoxin Sheng

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hello again.

       

      Take a look at suggested method above. If I want to set a SQL SERver authentication together with servername, user name and password, how will these 3 parameters look like?

       

      regards GEir F