However, it doesn't work with my data source (bummer), so I can't use percentile
Q: what kind of datasource (connection) are you using?
You may have options:
1) If you'd be able to make an extract from it (or maybe export to CSV / JSON),
then the PERCENTILE() aggregate function would become available (sure you do know).
2) When connecting live to any SQL-2003 compliant RDBMS (they are many)
you may have an option to call your DBMS variant of a NTILE window function
via RAWSQL() code inside Tableau calculation (could be a Row-Level one).
Besides, there may be other datasources (connections)
where making an extract -- or a native call via RAWSQL() --
is not an option (i'm talking cube datasources).
If this is the case, you're less lucky.