Tableau Live mode connection to Trino: Incorrect SQL pushdown translation for nested IF calculated fields (all rows hitting ELSE fallback).

Tableau Live mode connection to Trino: Incorrect SQL pushdown translation for nested IF calculated fields (all rows hitting ELSE fallback).

Not sure I can help a ton on the answer, but if you provide a bit more detail (maybe even something trimmed-back, but repeatable) I can try to find someone within Starburst who reply more intelligently to your concern.

Issue Description:
The calculated field application_step is defined by the following formula:

sql

IF [R90 PRE]='Y' AND [R90 OFF]='N' THEN 'Pre-Submission' 
ELSEIF [R90 OFF]='Y' AND [R90 APP]='N' THEN 'Official' 
ELSEIF [R90 APP]='Y' AND [R90 REQ DIS]='N' THEN 'Approved' 
ELSEIF [R90 REQ DIS]='Y' AND [R90 DIS]='N' THEN 'Initiation' 
ELSE 'Disbursement' 
END

Use code with caution.

Symptoms:

  1. Live Connection: When the data source connection is set to Live, the values for this field are incorrectly evaluated, and every single row returns ‘Disbursement’.

  2. Extract Connection: When the data source connection is switched to Extract, the field evaluates properly and returns the correct, expected values (as shown in the attached Tableau screenshot).


LIVE:

Extract:

The connector being used is ‘Starburst by Starburst’, and the driver being used is ‘StarburstEnterpriseJDBC-1.5.0’