Is there a function that checks the name of a list item in a module and returns specific data?

davargas
New Contributor

Is there a function that checks the name of a list item in a module and returns specific data?

Hello, I am trying to build a UX dashboard that displays data from two different modules. In D01 Slots (PAGES: Version, Locations, Resource Groups, and Teams. COLUMNS: Time. ROWS: Product Names and one line item "Slots"). Module D01 allows me to see the number of slots each product uses. In D02 (PAGES: Version, Locations, Resource Groups. COLUMNS: Time. ROWS: Product Names and a few line items, the most important being "Planned Capacity". In the UX, I want make a chart that shows all the slots used by each product in D01 but also plotting "Planned Capacity" from D02. I've tried many things, but I just can not figure it out. I was wondering if there was a function that check the name of a list item and returns data based on the name. For example, in the list "Product Names" that both D01 and D02 use as a row dimension, there are items called "CAPACITY" that I would like to carry the data from D02 to display on the graph. I've come up with 

IF NAME(CAPACITY) THEN 'D02 Planned Capacity'.Corrected Capacity ELSE 'D01 Slot Forecast'.Slots
I feel that I am either fairly close or very far off. If such function does not exist, then what other options could I try exploring? 

 

 

3 REPLIES 3
JaredDolich
Moderator

@davargas 

Great question! I would suggest brushing up on DISCO, specifically the use of system modules. System modules are modules that have one list and contain all the properties of that list. When you have a multi-dimensional list, like the one you describe you simply lookup the property using the LOOKUP function from the system module. Works like a charm! Just try not to recalculate something that's already calculated, like NAME(capacity). Reference it instead from the system module.

For example, your Capacity should have a dedicated module that contains all the Capacity properties, like the adjusted capacity. Like, SYS01 Capacity

So, 'SYS01 Capacity'.Adjusted Capacity[LOOKUP: 'SYS01 Capacity'.Capacity]


Jared Dolich
davargas
New Contributor

Hello @JaredDolich Thank you for the reply! I don't think the LOOKUP function would quite work because there are multiple list items in the module but there is only one line item. If I use the LOOKUP function in that module, wouldn't it make all the cells in that module the same? 

JaredDolich
Moderator

@davargas 

Yes they will all be the same. OR, if you need this property as a filter then you can remove the lists you don't need in the "applies to" for that one line item. This will dramatically reduce the number of cells needed on that line item. The recommendation for a subsidiary view is that it be used as a filter, presumably for reporting. If you just need it as part of a formula, then it's best to leave that in the system module and reference it from your planning module (the one with all the lists).


Jared Dolich