At work we recently got our first PowerBI report up and running. However, the Scheduled Refresh was not working, so we were doing manual updates and republishing the report daily.
I checked the permissions on the account were correct, and the credentials in the report were also fine.
However, the connection string specified on the server was in lower case for both the database and table names. In the report on the desktop, the connection string was in upper case.
I copied the strings from the server connection back to the desktop, uploaded it back to the server, and set a one time refresh to run within the next couple of minutes. I expected it to fail, but, joy of joys, it worked.
Even better, the scheduled refresh ran successfully at the allotted time this morning .
A very quick fix, but quite surprising - SQL Server is not case sensitive, and connection strings are also not case sensitive normally.
Worth bearing in mind if you have problems - check your connection string, and make sure they match.