The easiest way i could think to do it was to pre-build a table in the load script to flag and count the activity.
First of load the three columns (swimmer,runner,biker) into a table called "masterlist"
the use this load script
LOAD swimmer as athlete,
if(not isnull(swimmer),1) as swimmer
runner as athlete,
if(not isnull(runner ),1) as runner
biker as athlete,
if(not isnull(biker),1) as biker
drop table masterlist;
That should give you a table called Athletes with a distinct list of names a 1 in each catagory they apply.
Your straight table chart should have 1 dimension - athlete and possibley 4 expressions e.g.:
expr1 - sum(biker)
expr2 - sum(runner)
expr3 - sum(swimmer)
expr4 - sum(biker)+sum(runner)+sum(swimmer)
the last expression will effectively tell you how many lists the person is on.
You can also expriment with expressions like :
which will flag a 1 if the eprson is on two lists, set the expression total to sum of rows also.