Replacing ‘Item Names’ with ‘Dynamic List’ for the Generate Items module


Hi, Subx team.
It would be reasonable for you to replace the Item Names option in the Generate Items module with a similar Dynamic List option of the Constrain Input module. For what? – In order to generate new categories it would not be necessary to introduce additional Items into the model, derived from other Items and thus do not inflate the dimensions of the models.
Let’s look at this example. In some matrix there is an Item with a list of dates in the range of, say, 10 years. Let there be a total of 1,000 date entries (Item ‘DateList’). For the purposes of statistical processing, let it be necessary to obtain from the list of dates a new category (‘YrsLst’) with a list of years – dimension of 10 Items. Right now, to enable the Item Names option of the Generate Items module to get the new ‘YrsLst’ category from ‘DateList’, you must enter a new Item ‘Year’ into the matrix and use the Year() formula (‘DateList’) to get a list of years with a dimension of 1,000 values. Item ‘Year’ is derived from Item ‘DateList’! Having Item ‘DateList’, the Generate Items module will now easily cope with the task. The price for this is 1,000 additional cells in the matrix. If, instead of the Item Names option, the Generate Items module would have had the following options: Range, Select and Expression, then the generation of the new category ‘YrsLst’ from Item ‘DateList’ would not require a derived Item ‘Year’.
Hope, I was able to convey to you the basic meaning of the proposal, and I hope you will agree: this property will greatly enhance the power of QM and the quality of the models. As I see it, the implementation of this property for the Generate Items module does not require much of your resources: you already have everything for this in the option Dynamic List of the Constrain Input module.
Waiting for a substantive reaction from you to this proposal.

jlin Answered question June 15, 2019

I would like to add that “Item Names” has its use; however the current implementation is very flawed, in that the generated items loses all grouping structure. I would propose that the Generate Items feature has 4 options:

  1. Item Names (existing implementation)
  2. Item Count (existing implementation)
  3. Dynamic List (Sau’s implementation)
  4. Inherit Categories (inherit the exact items and groups from one or more comma-separated Categories; allow the user to address name collisions via separate toggles:
    1. Duplicate Groups: Keep (e.g. adding “1” after a duplicate group) vs Merge
    2. Duplicate Items: Keep (e.g. adding “1” after a duplicate item) vs Merge

For options 1 & 4, if the underlying item names (or group names) have changed, the generated items & groups should update automatically.

In addition, in the generated category, there should be a visual indicator that identifies which items have been “Generated”, and which items were manually added.

jlin Answered question June 15, 2019