Function table / Level of detail / Distinct customers per region

Distinct customers per region, from Tableau to SQL

Counts each customer once per region. Below, 8 sample rows go through the calculation and through the SQL, and both return the same numbers.

Calculated field

{ FIXED [Region] : COUNTD([Customer]) }

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", COUNT(DISTINCT Customer) AS result FROM input  GROUP BY "Region" ORDER BY "Region"

Runs the example above.

Result

Regionresult
North3
South2

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

Where a naive translation goes wrong

  • COUNT(Customer) counts invoice rows and therefore duplicates repeat customers.

    Naive SQL

    SELECT "Region", COUNT(Customer) AS result FROM input  GROUP BY "Region" ORDER BY "Region"
    Regionresult
    North4
    South4

    Matches the calculation

    SELECT "Region", COUNT(DISTINCT Customer) AS result FROM input  GROUP BY "Region" ORDER BY "Region"
    Regionresult
    North3
    South2

Signature

{ FIXED [Region] : COUNTD([Customer]) }