We are currently running V14.3 but the above solution did not help. It caused the projects to error when trying to load and displayed the default value for all the projects in the list view.
I followed your walk-through (If you are the same David Morton) that I had found on "How To Put Any Dynamically Generated Value On A Clarity Object". The walk-through is a little bit older (22.11.2012) but it was still very useful.
My NSQL is as follows if it will help to view it:
SELECT
@SELECT:1:DUMMY_ID@
,@SELECT:X.CALC_VALUE:CALC_VALUE@
FROM
(
SELECT top 1 r.full_name as calc_value
FROM niku.prteam t
JOIN niku.srm_resources r on t.prresourceid = r.id
JOIN niku.inv_investments i on t.prprojectid = i.id
WHERE i.code = @WHERE:PARAM:USER_DEF:STRING:unique_code@
AND t.prroleid = 5005006
UNION
SELECT ' ' from DUAL
WHERE @WHERE:PARAM:USER_DEF:STRING:unique_code@ is NULL
) X
WHERE @FILTER@
I also tried re-structuring the above query to return a dynamic link as suggested by the notes of the walk-through but was unsuccessful in getting that to work either.