Function table / Level of detail / Exclude responds to dimension filter

Exclude responds to dimension filter, from Tableau to SQL

Dimension filters change the input to EXCLUDE calculations. Below, 8 sample rows go through the calculation and through the SQL, and both return the same numbers.

Calculated field

{ EXCLUDE [Team] : SUM([Revenue]) }

Sample data

RegionTeamCustomerRevenueSeatsDate
NorthCedarAster12042026-01-05
NorthCedarAster8022026-02-05
NorthCedarBirch30062026-01-12
NorthPineClover9032026-02-14
SouthElmDahlia20052026-01-08
SouthElmDahlia10022026-02-08
SouthAshFern7532026-01-20
SouthAshFern2512026-02-20

The same calculation as SQL

SELECT Region, Team, MAX(total) FROM (SELECT * FROM input WHERE Region='North') JOIN (SELECT Region, SUM(Revenue) total FROM (SELECT * FROM input WHERE Region='North') GROUP BY Region) USING(Region) GROUP BY Region, Team ORDER BY Region, Team

Runs the example above.

Result

RegionTeamresult
NorthCedar590
NorthPine590

Same rows from the calculation and from the SQL in DuckDB.

Where a naive translation goes wrong

  • Computing EXCLUDE on the unfiltered input includes marks removed by the dimension filter.

    Naive SQL

    SELECT Region, Team, MAX(total) FROM input JOIN (SELECT Region, SUM(Revenue) total FROM input GROUP BY Region) USING(Region) GROUP BY Region, Team ORDER BY Region, Team
    RegionTeamresult
    NorthCedar590
    NorthPine590
    SouthAsh400
    SouthElm400

    Matches the calculation

    SELECT Region, Team, MAX(total) FROM (SELECT * FROM input WHERE Region='North') JOIN (SELECT Region, SUM(Revenue) total FROM (SELECT * FROM input WHERE Region='North') GROUP BY Region) USING(Region) GROUP BY Region, Team ORDER BY Region, Team
    RegionTeamresult
    NorthCedar590
    NorthPine590

Signature

{ EXCLUDE [Team] : SUM([Revenue]) }