This article describes how to connect Tableau to a Snowflake data warehouse and set up the data source.
Before you begin, gather this connection information:
- Name of the server name that you want to connect to
- Authentication method:
- OAuth: Use this method if you want to enable federation from an IDP.
- SAML IDP: Use this method if you want to embed the IDP credentials in the connection.
- Username and Password: Use this method if you want to store user credentials in Snowflake.
- Sign in credentials depend on the authentication method you choose
- (Optional) Initial SQL statement to run every time Tableau connects
This connector requires a driver to talk to the database. You might already have the required driver installed on your computer. If the driver is not installed on your computer, Tableau displays a message in the connection dialog box with a link to the Driver Download(Link opens in a new window) page where you can find driver links and installation instructions.
Note: To support using OAuth with Snowflake, you must install the latest ODBC driver from Snowflake (currently version 2.25.4).
After you select Snowflake as your connection, a POPUP menu is displayed with 3 tabs. Use the General tab for authentication. You can also use the Initial SQL to run an SQL command at the beginning of every connection. For more information, see Run Initial SQL. You can use the Advanced tab to add customer connections with parameters.
Connect Tableau to your data
- Start Tableau and under Connect, select Snowflake.
- Enter the name of the server that you want to connect to.
- Select the Authentication method: Username and Password, Okta Username and Password, or Sign in using OAuth.
- Select one of the authentication methods and complete the login steps.
Okta Username and Password:
- Enter the Username and Password,
- In the Okta field, enter the URL for the Okta server.
Sign in using OAuth
- (Optional) Select Initial SQL if you want to run an SQL command at the beginning of every connection. For more information, see Run Initial SQL.
- Select Sign In.
- In the web page that opens, log in to Snowflake by entering your Username and Password and selecting Log In. Or select Single Sign On if Snowflake is configured to support SSO.
- Click OK to confirm authorisation to access your Snowflake data.
- Close the browser window and Tableau.
- Proceed to the next section, "Set up the data source."
- Select Sign In.
If Tableau can't make the connection, verify that your credentials are correct. If you still can't connect, your computer is having trouble locating the server. Contact your network administrator or database administrator.
Customise the connection using driver parameters
You can modify the connection made with the Snowflake connector. You can do this by appending driver parameters to the connection string in the Advanced tab.
Note: You can’t change the driver parameters that Tableau generates, you can only append parameters.
For example, this syntax specifies a proxy server to use when the
no_proxy values are not met and which host names are allowed to bypass the proxy server:
For another custom driver parameters example, see Use a proxy for Snowflake.
Note: If you want customisation without embedding it in the data source, you can configure parameters in the registry on Windows (only parameters that are marked as "Configuration Parameters" are available). For details about driver parameters, see ODBC Configuration and Connection Parameters on the Snowflake website.
Set up the data source
On the data source page, do the following:
(Optional) Select the default data source name at the top of the page, and then enter a unique data source name for use in Tableau. For example, use a data source naming convention that helps other users of the data source figure out which data source to connect to.
- From the Warehouse drop-down list, select the warehouse or use the text box to search for a warehouse by name.
Note: If you leave this blank and don't select a warehouse, Tableau uses your default Snowflake virtual warehouse.
For more information, see Default virtual warehouses in Snowflake.
- From the Database drop-down list, select a database or use the text box to search for a database by name.
- From the Schema drop-down list, select a schema or use the text box to search for a schema by name.
- Under Table, select a table or use the text box to search for a table by name.
- Drag a table to the canvas, and then select the sheet tab to start your analysis. Use custom SQL to connect to a specific query rather than the entire data source. For more information, see Connect to a Custom SQL Query.
If you use Tableau Desktop on a Mac, when you enter the server name to connect, use a fully qualified domain name, such as mydb.test.ourdomain.lan, instead of a relative domain name, such as mydb or mydb.test.
Alternatively, you can add the domain to the list of Search Domains for the Mac computer so that when you connect, you need to provide only the server name. To update the list of Search Domains, go to System Preferences > Network > Advanced, and then open the DNS tab.
When you create a Snowflake data source, you are creating a Snowflake warehouse (for computational resources) and Snowflake databases (for data resource). Both warehouses and databases require permissions to access them. You can use different warehouses to access the same database, depending on the computation power you need, assuming you have permissions for each warehouse and database.
When you create a data source, you have the option to choose a warehouse from a drop-down list. If you leave this blank and don't select a warehouse, Tableau uses your default Snowflake virtual warehouse. If you subsequently publish that data source or workbook, when a user connects, Tableau will use that person's default Snowflake virtual warehouse.
Each user should be assigned a default warehouse so that Tableau can use that one as a default to open a workbook from a Snowflake data source.
Configure Snowflake server support for OAuth
For information about how to configure OAuth for connections between Tableau and Snowflake, see Configure OAuth for Snowflake Connections(Link opens in a new window).
You can connect from Tableau through a proxy to Snowflake. If you are using Tableau version 2019.4 or later, you can configure it with the connector dialog by typing the required parameters in the Advanced tab.
For information about the parameters you should use, see the Snowflake documentation(Link opens in a new window).
Note: Tableau doesn't use a DSN to connect to Snowflake, so you can ignore the instructions in the Snowflake documentation about using a DSN.
If you are using Tableau version 2019.4 or earlier, you can configure it by entering the parameters in a TDC file using
<connection-customization class='snowflake' enabled='true' version='19.1'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
For more information, see the Customise the Connection String for a Native Connector(Link opens in a new window) article.
Here are some common problems and steps to resolution.
I have an error, "This Field XXX Does Not Exist", what do I do?
This error appears when you’re re-creating a calculation field, adding it to the worksheet and replacing the data source with the Snowflake data (CustomSQL).
Use the Replace Field References function to resolve the error. For additional information on replacing field references, see Replace Field References.
- Best Practices for Using Tableau with Snowflake(Link opens in a new window) on the Snowflake website (registration required).