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:
- Username and Password
- Okta Username and Password
- 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.21).
Connect Tableau to your data
- Start Tableau and under Connect, select Snowflake. For a complete list of data connections, select More under To a Server.
- Enter the name of the server that you want to connect to.
- Select the Authentication method: Username and Password, SAML IdP, or Sign in using OAuth.
- Enter the information that you are prompted to provide. The information you are prompted for depends on the authentication method you choose.
- If you select SAML IdP, enter the Username and Password, then in the SAML IdP (Okta) field, enter the URL for the SAML IdP server. Proceed to step 5.
- If you select Sign in using OAuth follow these steps:
- Select Initial SQL if you want to run a 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 User Name 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 return to Tableau.
- Proceed to the next section, "Set up the data source."
- (Optional) Select Initial SQL to specify a SQL command to run at the beginning of every connection, such as when you open the workbook, refresh an extract, sign in to Tableau Server or publish to Tableau Server. For more information, see Run Initial SQL.
- 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
In some cases, you may want to 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.
No_proxy indicates which host names are allowed to bypass the proxy server:
For another custom driver parameters example, see Use a proxy for Snowflake.
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 do not 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 accessing both 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 do not 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 2019.4 or later, you can configure this 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 a version of Tableau before 2019.4, you can configure this 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 is a list of 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 are 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).