Use DataAI ETL with Tableau
1. Review the Accelerator
- Open
DataAI_ETL_Accelerator.twbxin Tableau Desktop. - Review the fictional embedded data without entering customer credentials.
- Inspect run trends, accepted/rejected totals, quality score, findings, field profiles, and analytical views.
- Do not publish the fictional workbook as a customer production dashboard.
2. Produce standardized outputs
TableauOutputBundle tableau = TableauOutputs.from(result);
tableau.dashboardMetrics().write()
.format("delta")
.mode(SaveMode.Append)
.saveAsTable("analytics.dataai_dashboard_metrics");
Persist only the returned DataFrames the customer approves. For any analytical result use TableauFunctionOutputs.withRunMetadata(...). For matrix balancing use TableauFunctionOutputs.matrixBalance(...) to retain convergence, iteration count, and maximum error.
3. Connect and replace sample data
- Expose the governed tables through Spark Thrift Server or a Databricks SQL warehouse.
- In Tableau Desktop, connect with Spark SQL or Databricks using customer-approved authentication.
- Use Data > Replace Data Source to replace the sample
dataai_dashboard_metricssource. - Add
dataai_pipeline_runs,dataai_quality_findings, anddataai_field_profilesas needed. - Relate run tables to findings and profiles by
run_id. - Relate findings to source rows by record key only when record-level access is authorized.
4. Validate and publish
- Validate field mappings, number/date types, relationships, filters, null behavior, and row counts.
- Test extracts or live connections, refreshes, permissions, row-level security, and performance.
- Confirm matrix heat maps show both balancing values and convergence metadata.
- Publish to Tableau Cloud/Server only after the administrator approves credentials and schedules.
- Schedule Tableau refresh after a successful DataAI run; Tableau refresh alone does not rerun DataAI.
The Tableau adapter performs no automatic persistence, cache, collect, network connection, or Tableau publishing. Customer code chooses every output and write.
Usage is successful when: the sample source is fully replaced, output schemas match the contract, Tableau counts reconcile with Spark, and governed permissions apply at both the data and workbook layers.