Forum Discussion
Dynamically change data source of published report
- Anonymous9 years ago
Hi aroyappan,
As GilbertQ said, if you want to dynamic change the datasource, you can refer to below steps:
1. Create a table with these datasources.(id, server name, database name , item)
2. Write a power query custom funciton which used to analysis the records and connect to datasource.(function parameters: server name, user name, password)
3. Filter the datasource table and use the filtered records to inveke the custom funciton.
Sample of sql database
let loadData=(Servername as text, DbName as text, itemName as text)=> let Source = Sql.Databases(Servername){[Name=DbName]}[Data]{[Schema="dbo",Item=itemName]}[Data] in Source in loadDataUse:
Table structure: id, server name, db name, item name
let Selected = Table.SelectRows(SourceTable, each [id] = 10), ServerName= List.First(Selected[server name]), DBName= List.First(Selected[db name]), ItemName=List.First(Selected[item name]), Source= loadData(ServerName,DBName,ItemName) in Source
Regards,
Xiaoxin Sheng
Hi aroyappan
Yes in theory that is correct.
You would have to have a list of the databases, as well as the returned data from your query.
After which you could then get the end result, which you could then assign to a parameter value, which in turn will then connect to the database.
You will have to do this in the Query Editor and possibly modify some of the M code to achieve this.