How to Properly Map Tableau SQL Queries to Existing Datasets in DataHub

Original Slack Thread

HI all!
I am trying to extract lineage from Tableau SQL queries and I need to properly map tables from lineage to existing datasets. Can you, please, advise me on how to do it? Since the https://datahubproject.io/docs/generated/ingestion/sources/tableau/#config-details|documentation is extremely poor on this topic.
For example, Definition tab of the Tableau view has the SQL query like

         (SELECT *
          FROM "iceberg".schema1.table11),
     table2 AS
         (SELECT *
          FROM "iceberg".schema1.table12)
SELECT *
FROM table1 AS s
         JOIN
     table2 AS o ON o.id = s.id
UNION ALL
SELECT *
FROM table2 AS s
UNION ALL
SELECT *
FROM "iceberg-jdbc".schema2.table21
UNION ALL
SELECT *
FROM "iceberg-jdbc".schema2.table31```
And I have existing, ingested datasets in Datahub:
1. urn:li:dataset:(urn:li:dataPlatform:iceberg,schema1.table11,PROD)
2. urn:li:dataset:(urn:li:dataPlatform:iceberg,schema1.table11,PROD)
3. urn:li:dataset:(urn:li:dataPlatform:iceberg,schema2.table21,PROD)
4. urn:li:dataset:(urn:li:dataPlatform:iceberg,schema2.table31,PROD)
So, how do I need to use the <https://datahubproject.io/docs/generated/ingestion/sources/tableau/#config-details|configuration attributes> for Tableau to map the tables from lineage to the existing datasets? Please, provide an example if you can since the documentation doesn't have them.

My current recipe is

```source:
    type: tableau
    config:
        connect_uri: censored
        platform_instance: censored
        site: ""
        stateful_ingestion:
            enabled: true
            ignore_old_state: true
        ingest_tags: true
        ingest_owner: true
        extract_usage_stats: false
        extract_project_hierarchy: true
        page_size: 3
        extract_lineage_from_unsupported_custom_sql_queries: true
        force_extraction_of_lineage_from_custom_sql_queries: true
        extract_column_level_lineage: true
        token_name: censored
        token_value: '${censored}'
        project_pattern:
            allow:
                - 'censored'
            ignoreCase: true
        lineage_overrides:
            platform_override_map:
                iceberg: iceberg-jdbc```

Hey there! :wave: Make sure your message includes the following information if relevant, so we can help more effectively!

  1. Are you using UI or CLI for ingestion?
  2. Which DataHub version are you using? (e.g. 0.12.0)
  3. What data source(s) are you integrating with DataHub? (e.g. BigQuery)
  1. UI
  2. 0.13.2
  3. Tableau