I had finally managed to get the data I had into Snowflake. Of course, I couldn't wait to now start connecting Power BI to this data. When I found the right schema in the Snowflake connector I was missing some tables that I did expect. How is this possible? Read on to see how I solved this in my situation.

Permissions

A first step I checked is what permissions all the tables in Snowflake had. Make sure the tables you want to see all have a role with at least the 'SELECT' permission. This role should, of course, also be assigned to the Snowflake user account you use to link Power BI to Snowflake.

Roll

The next step was to figure out what my 'default role' is in Snowflake. If you connect to Snowflake from Power BI and do not specify a specific role, your default role will be used. If your default role does not have the right permissions on the data you may not see certain data when you connect to Snowflake.

To check your 'default role' go to your account in Snowflake and click on 'Profile'. Somewhere halfway down the screen you will find the 'Default role & warehouse' setting. Adjust it if necessary.

class="wp-image-35295

class="wp-image-35296

Reset credentials

When you have made changes, you may need to reset your credentials in Power BI. You can do this in Power BI desktop by going to 'File' -> 'Option and settings' -> 'Data source settings' - 'Global permissions' and look up the Snowflake connection. When you press 'Clear permissions' the next time you make a Snowflake connection you will be asked for your credentials again. This solved the problem for me and I was now able to access all tables via Power BI.

Alternative

Should you not want to change the 'default role' you can also choose which role to use when creating a connection. This way you can override the 'default role' and use another desired role.

class="wp-image-35297

Conclusion

I hope that if you are struggling with the same problem as me, this blog has helped you. If you are interested in our other blogs you can find an overview here.