Forum Discussion
MYSQL connection - changing database source requires M query
Hi Anonymous,
Thanks again for your help with this. However, I cannot provide screenshots as the data is sensitive.
I can tell you that the issue is exactly the same using parameters as without using parameters.
For example, I created a database parameter with Dev and UAT.
I set the parameter to Dev and import the data without issue. The table query in Advanced Editor is below -
let
Source = MySQL.Database("000.000.00.00", "Dev", [ReturnSingleDatabase=true]),
Dev_Table1 = Source{[Schema="Dev",Item=" Table1 "]}[Data]
in
Dev_ Table1
Then I change the parameter value to UAT and apply the changes. The data fails to refresh, giving the error 'The key didn't match any rows in the table.'
Looking at the table query, we can see why -
let
Source = MySQL.Database("000.000.00.00", "UAT", [ReturnSingleDatabase=true]),
Dev_Table1 = Source{[Schema="Dev",Item=" Table1 "]}[Data]
in
Dev_ Table1
The database name has been changed to UAT, but the schema name and table prefix remains on Dev.
Just to mention, I am also working with SSRS on this project and can change mysql databases without issue because it does not prefix each table with the database/schema name.
With Power BI, however, I have to update each table query.
Thanks
Hi gazumpt,
The parameter works without issues when I use SQL Server databases.
I made a test using MySQL databases and utilizing parameter, and I get the same error as yours. As Power BI Desktop prefixs each MySQL table with the database/schema name, we are only able to change the code in Advanced Editor using the second alternative in my original post.
Thanks,
Lydia Zhang