Forum Discussion
Nested lookupvalue
I have a table of assets that range from a room, a building, a barrack, group of barracks, site.
There is one field [mch_code] that uniquely identifies that item for each and a [sup_mch_code] that identifies and links the next level up in the hierarchy.
The table looks like this:
| MCH_CODE | SUP_MCH_CODE | OBJ_LEVEL | OPERATIONAL_STATUS |
| OUR WILTON SITE | LAR GROUP | BARRACKS | IN_OPERATION |
| NV 0 080 | AIRFIELD_CMP_WEST | BUILDING | SCRAPPED |
| BX B 017 | BULFORD | BUILDING | IN_OPERATION |
| BX B 018 | BULFORD | BUILDING | IN_OPERATION |
| BX B 019 | BULFORD | BUILDING | IN_OPERATION |
| BX B 020 | BULFORD | BUILDING | IN_OPERATION |
| BX B 021 | BULFORD | BUILDING | IN_OPERATION |
| BX B 021-001 | BX B 021 | ROOM | IN_OPERATION |
| BX B 021-002 | BX B 021 | ROOM | IN_OPERATION |
| BX B 021-003 | BX B 021 | ROOM | IN_OPERATION |
All levels of the hierarchy are in this table, the [obj_level] detemines what level the row is at.
I'm using DQ but am managing to use LOOKUPVALUE as a calculated column.
I'm trying to link together a room to a barrack which is two levels.
The building can be found via using the room's [sup_mch_code] but I need to then use the building's [sup_mch_code] to find the barracks.
At the moment, I have:
Managed to work it out using a bit of SQL at source.
Posting here in case it helps anyone else:
select
eo.mch_code code,
eo.operational_status code_operational_status,eo1.mch_code room,
eo1.operational_status room_operational_status,eo2.mch_code building,
eo2.operational_status building_operational_status,eo3.mch_code barracks,
eo3.operational_status barracks_operational_status,eo4.mch_code grpbar,
eo4.operational_status grpbar_operational_status,eo5.mch_code site,
eo5.operational_status site_operational_status from equipment_object eojoin equipment_object eo1 on eo.SUP_MCH_CODE = eo1.mch_code
join equipment_object eo2 on eo1.SUP_MCH_CODE = eo2.mch_code
join equipment_object eo3 on eo2.SUP_mch_code = eo3.MCH_CODE
join equipment_object eo4 on eo3.SUP_mch_code = eo4.MCH_CODE
join equipment_object eo5 on eo4.SUP_mch_code = eo5.MCH_CODE
4 Replies
- Greg_DecklerCommunity Champion
aspirationalbec Can you post the data as text so it can be copy and pasted? You can always use MAXX or MINX instead of LOOKUPVALUE.
- aspirationalbecFrequent Visitor
Hi Greg_Deckler , edited the original post but here you are: 4
MCH_CODE SUP_MCH_CODE OBJ_LEVEL OPERATIONAL_STATUS OUR WILTON SITE LAR GROUP BARRACKS IN_OPERATION NV 0 080 AIRFIELD_CMP_WEST BUILDING SCRAPPED BX B 017 BULFORD BUILDING IN_OPERATION BX B 018 BULFORD BUILDING IN_OPERATION BX B 019 BULFORD BUILDING IN_OPERATION BX B 020 BULFORD BUILDING IN_OPERATION BX B 021 BULFORD BUILDING IN_OPERATION BX B 021-001 BX B 021 ROOM IN_OPERATION BX B 021-002 BX B 021 ROOM IN_OPERATION BX B 021-003 BX B 021 ROOM IN_OPERATION - aspirationalbecFrequent Visitor
Managed to work it out using a bit of SQL at source.
Posting here in case it helps anyone else:
select
eo.mch_code code,
eo.operational_status code_operational_status,eo1.mch_code room,
eo1.operational_status room_operational_status,eo2.mch_code building,
eo2.operational_status building_operational_status,eo3.mch_code barracks,
eo3.operational_status barracks_operational_status,eo4.mch_code grpbar,
eo4.operational_status grpbar_operational_status,eo5.mch_code site,
eo5.operational_status site_operational_status from equipment_object eojoin equipment_object eo1 on eo.SUP_MCH_CODE = eo1.mch_code
join equipment_object eo2 on eo1.SUP_MCH_CODE = eo2.mch_code
join equipment_object eo3 on eo2.SUP_mch_code = eo3.MCH_CODE
join equipment_object eo4 on eo3.SUP_mch_code = eo4.MCH_CODE
join equipment_object eo5 on eo4.SUP_mch_code = eo5.MCH_CODE