Not certain, Dave. The task ID appears in the fourth column, of course, under the shared hierarchy name "id", so the portlet is operational.
In any case, it works for us at ITW, resolving an obstacle to setting up XOG XML files for financial transactions, namely, getting the 5-million internal-ID number for tasks.
Here's the NSQL query, if it helps any participants to this thread.
SELECT
@SELECT:DIM:USER_DEF:IMPLIED:BJ:hgquery.NAME:Name@,
@SELECT:DIM_PROP:USER_DEF:IMPLIED:BJ:hgquery.ID:id@,
@SELECT:DIM_PROP:USER_DEF:IMPLIED:BJ:hgquery.externalid:externalid@,
@SELECT:DIM_PROP:USER_DEF:IMPLIED:BJ:hgquery.start:Start@,
@SELECT:DIM_PROP:USER_DEF:IMPLIED:BJ:hgquery.finish:Finish@,
@SELECT:DIM_PROP:USER_DEF:IMPLIED:BJ:hgquery.hg_has_children:hg_has_children@
from (
select name, id id, schedule_start start, schedule_finish finish,
id hg_has_children, code externalID
from inv_investments
where @where:param:user_def:string:hg_row_id@ is null
union
select prname, prid ID, prstart start, prfinish finish,
null hg_has_children, prexternalid externalID
from prtask
where prprojectid = @where:param:user_def:string:hg_row_id@
) hgquery
where 1=1 and @filter@