1
votes

Here is what we are planning to achieve:

  • We have created reports using AWS Redshift as the data source. And, we can publish the PBIX files to the workspace using the Create Import API(msdn.microsoft.com/en-US/library/mt243840.aspx)
  • We are trying to update the connection string on all datasets by using the Datasource API Set All Connections(msdn.microsoft.com/en-US/library/mt748181.aspx)

I'm a Newbie to Power BI.. Seeking some guidance...

  • Let's say, we developed a certain report by pointing to AWS Redshift on Development environment. We are trying to automate publishing the developed report to say QA or Staging or Production environments;
    which means the published report will have to point to AWS Redshift on QA or Staging or Production environments.

  • Today, when we upload a PBIX file, the Power BI Service prompts us to provide ONLY the credentials. It doesn't allow us to change the server information. And, what we want is the ability to change or point to a different server. Any help here is greatly appreciated.

  • This simply means, we'd have to create reports specific to each environment and this is not something we want.

  • We were under the impression that Set All Connections API would come-in handy for us. But, we don't know how to produce a connection string that will help point the report to a different AWS Redshift
    database.

  • So, we decided to take a crude approach, Create a report each against QA or Staging or Production AWS Redshift. Then query and
    retrieve the connection string for each reports' datasource. This
    gave us mashup connection strings' that look something like -
    Provider=Microsoft.Mashup.OleDb.1;Data
    Source=$EmbeddedMashup(blah-blah-blah-blah)$;Extended
    Properties="blah-bhaj-blah-blah-blah-blahblah-bhaj-blah-blah-blah-blah-blah-bhaj-blah-blah-blah-blah-blah-bhaj-blah-blah-blah-blah=", but if you observe the connection string, you'll see Extended
    Properties...
    this is all encrypted information, not sure what
    information the encrypted string holds. And, in case we create
    different looking reports, the Extended Properties come out
    completely different which simply means we cannot have a standard
    mashup connection string. And, this crude approach won't fly.

So, what information we seek is how to point a report developed against a certain AWS Redshift environment point to a different AWS Redshift?

Report Configuration Screen

1

1 Answers

0
votes

You need to parameterize your connection information https://docs.microsoft.com/en-us/power-bi/service-parameters. Use those parameters for server connections, and build the dataset again before publishing it.

you can then update those parameters by https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/updateparametersingroup