You could create a NSQL query based portlet and export from that.
The query could be something like (Oracle)
SELECT
prj_obs_types.name OBS_type_nAME,
prj_obs_types.UNIQUE_NAME Type_unique_name,
(TRIM (LEADING '/' FROM
(NVL(Parent10.name,'') || NVL(Parent9.name|| '/','') || NVL(Parent8.name+'/' ,'') || NVL(Parent7.name ||
'/','') ||
NVL(Parent6.name || '/','') ||NVL(Parent5.name || '/','') || NVL(Parent4.name || '/','') || NVL(Parent3.name
|| '/','') ||
NVL(Parent2.name || '/','') || NVL(Parent1.name || '/','') || prj_obs_units.name))) OBS_full_PATH,
prj_obs_units.NAME Unit_name,
prj_obs_units.UNIQUE_NAME Unit_unique_name,
prj_obs_units.id OBS_unit_id,
prj_obs_units.DEPTH
from
prj_obs_types,
prj_obs_units left join prj_obs_units Parent1 on prj_obs_units.parent_id=Parent1.id
left join prj_obs_units Parent2 on Parent1.parent_id=Parent2.id
left join prj_obs_units Parent3 on Parent2.parent_id=Parent3.id
left join prj_obs_units Parent4 on Parent3.parent_id=Parent4.id
left join prj_obs_units Parent5 on Parent4.parent_id=Parent5.id
left join prj_obs_units Parent6 on Parent5.parent_id=Parent6.id
left join prj_obs_units Parent7 on Parent6.parent_id=Parent7.id
left join prj_obs_units Parent8 on Parent7.parent_id=Parent8.id
left join prj_obs_units Parent9 on Parent8.parent_id=Parent9.id
left join prj_obs_units Parent10 on Parent9.parent_id=Parent10.id
where
prj_OBS_units.type_id=prj_obs_types.id
optionally also
and prj_obs_types.UNIQUE_NAME ='your OBS code'
To get the attached resource units left join something like
prj_obs_associations.record_id=srm_resources.id
AND prj_obs_associations.UNIT_ID=prj_obs_units.id
and prj_obs_associations.table_name= 'SRM_RESOURCES'
and similar for projects