BI semantic layer · rule tableau-custom-sql
Tableau data sources using custom SQL
A Metacenta review checks this under the rule Tableau data sources read tables, not custom SQL. Everything below applies whether or not you ever commission one.
What this rule checks
This rule flags each Tableau data source with one or more custom SQL relations. We count the queries; we never keep their text. A data source that reads only tables passes.
Why it matters
Transformation logic in the BI layer is untested and invisible to the pipeline's lineage. A change to an upstream table can break the query, and nothing warns anyone first.
How to fix it
Move Tableau custom SQL into the pipeline. Move the logic into a modelled table and point the data source at it. If the query only selects and renames columns, a plain table relation does the same.
When it is fine to leave
A prototype workbook that will be rebuilt on modelled tables, or a projection of one modelled table. The rule is low severity for that reason: custom SQL is sometimes a stopgap.
What we need to check it
Tableau workbooks: .twb files, or the .twb inside a .twbx. We keep data source names, the tables each reads and a count of custom SQL relations. Connection details and the SQL text are dropped.