KNOWLEDGE BASE

Error: "The field <fieldname> does not exist in the database" After Updating Data Source to Include a New Field


Published: 21 Apr 2016
Last Modified Date: 04 Oct 2017

Issue

When managing data sources separately from the workbooks (admin publishes an extract, users connect to the published extract), changes to the published extract sometimes causes workbook-based calculations to error out. One of the following scenario, might occur: 
  • Calculations turn red.
  • Calculation may show 1 1 1 at the end of the name.
  • Calculation error reads "The field <fieldname> does not exist in the database."

Environment

  • Tableau Desktop
  • Tableau Data Engine
  • Workbook with published data connections

Resolution

Option 1

Manage the data sources by creating a materialized view in the data base. (See Materialized Views below)

Option 2

If creating a materialized view is not possible, create the data source in Tableau Desktop without using Custom SQL. 
  • Only add new fields, however please note that removing or modifying fields may cause errors.

Cause

When adding fields to a data source using Tableau Desktop, the backend idenfication of all the fields can be rewritten. Custom SQL especially is likely to cause the fields to be "renamed" on the backend.
The workbooks do their best to match up after the rename, but sometimes it fails.

 

Additional Information

The error occurs for all methods of updating the data source, including:
  • Republishing the data source with the same name, the workbook user refreshes live the connection to the published data source.
  • Publishing the data source with new name, the workbook user creates a new connection using "Replace Data Source".
  • Publishing the data source with a new name, the workbook user uses "Edit Server" and "Site Path" to point to new data source. 

Materialized Views

A materialized view is a “select query” performed on the data source and the end result set is stored as a table in the database. The materialized view can be kept in sync with database updates.
Did this article resolve the issue?