FINDITEM on Numbered List Without Code
Is it possible to do a FINDITEM on a numbered list without using the code field?
The numbered list restriction exists because I need non-admin end users to easily add to the list (e.g. by adding a 'Create' action).
The code restriction exists because non-admin end users will be adding to the list, and hence will not be able to amend the code.
I realise that a non-numbered list could be used, where non-admin users would be able to add items and amend the code through an import. However the file requirements (file name, column names, column count) seem onerous on the end user and ideally I want to keep things as simple as possible for the end user.
With that in mind I'd like to add some context.
I have two lists:
- Client (numbered). 'Client Name' property, text format.
- Organisation (non-numbered). 'Client' property, client list format.
My organisation structure is, broadly, based off a combination of client and country. Example below:
I would like to map each organisation to a client within the client list. I have created a module that dynamically pulls the client name from the organisation name in text format. I now need to lookup this client text formatted name against the 'Client Name' text property within the client list, and return the corresponding client as a client list item.
Unfortunately, to the best of my knowledge, FINDITEM does not work against properties. I imagine that this is because the property could be duplicated multiple times.
Any help on this would be greatly appreciated!
Ok, I think this would work, although there is a caveat that the client names will not be the same (otherwise there is no way to determine between the two)
I've replicated your module, and the text (although I don't know what your logic is to determine the client text)
1. I've also left the client list display name blank, to prove that the list is numbered
2. What we need to do is check the client text against the name of the client, so we create a module dimensioned by the two
3. Return the organisation (formatted list) where the names match.
4. Set the summary option to First Non-blank
5. Now you can bring the Client into the Organisation details module
I hope that solves it
Would it be a solution to import the module where user adds the client name into the client list as a code?
That would mean the following process:
1) User adds item to the list (I suppose you are doing that via an action?)
2) User updates the client name
- You might want to add some check on whether the name is already in use and give user feedback on that
3) User pushes a new action that imports the updated name into client list as code. (Map IDs as key)
Please let me know if this suits your needs!
This could potentially work - ideally I'm looking for a way that absolutely minimises end user input. I know that adding an item to a list and then hitting an update button isn't a demanding task - but I can imagine users forgetting to hit the update button.
Thanks for the idea though!0
I understand, I do not think there is a completely automatic way out there, but if you find one, let me know.
Two tips in order to decrease the chance of master data not being updated:
- You could additionally add the client update action into the process where you create the organizations, so whenever a user forgets to update it, it will still be triggered whenever new organizations are added/updated.
- You could add a 'alert module' with color coding on a populair dashboard where you can add multiple master data checks. One of the checks could then be whether organization id is mapped to a client. If any of the checks is flagged as being faulty, the user would then be able to go to a 'master data dashboard' where he could add the client name and update it. This is usually how I make sure master data that is being managed within Anaplan is maintained properly by the users. This takes a bit of time to set up, but is very valuable in the long run.
Firstly, I'd add that FINDITEM works on any text string be that in a list property or module line item. We do advocate using a module to hold any many "properties" as possible; many reasons but they are easier to work with and write formulae for one.
Secondly, in terms of forcing a code to the numbered lists, I agree, it's not easy, but try and embed the code in another button options such as "validate" or "confirm" if you can. It is much better to have codes for all lists if possible.
But, if I understand the problem correctly, you should be able to get around this using the assign function. This allows the user to choose from an existing list and add it to the parent. It automatically adds the list formatted item to the numbered list entry allowing it to be used downstream
The steps are:
1. Create the lists (I've tried to mimic your lists)
You will see above that there is a list formatted property for client. This is key for the Assign to work
2. Create the Organisation Client Details module. this calculates the display name (as above, it is better to hold this in a module (as per S in DISCO)
3. Create the assign action
4. Publish the module and the action to a dashboard
5. The user clicks on a parent and then the add client and the following dialog appears. You will see that the existing client is already there. Move the client(s) to the right hand pane than click OK
You will now see the client added to the list with the associated property added
I hope this helps
Thanks for your reply - I've never used the assign action before so that's useful to know.
Unfortunately it doesn't quite solve my issue so I'm going to add some detail around the scenario to make it more understandable.
My organisation hierarchy is composed of multiple hierarchies with different naming conventions. This is resultant of various mergers that have occurred in previous years.
Some hierarchies use 'contract numbers' to distinguish separate organisation units, whilst others use client and country concatenations to designate separate organisation units.
Regardless of hierarchy naming convention used - every organisation item has a 1 to 1 relationship to a client. Our client list grows quite quickly so I need a system which helps end users assign clients to organisation units.
Therefore, I am after a solution which can read the organisation item name and attempt to parse a client automatically. This system is merely designed to help end users - as if the client name is not in the organisation item name, then a client will have to be mapped automatically.
Dealing with the growing client list is quite simple. By using a numbered list for clients, the Anaplan create action will allow end users to add items to the client list and fill the client name in a text formatted property - simple.
The challenge is to then dynamically associate the organisation list to the numbered client list, looking up the client name.
I hope this helps to explain the problem in greater depth.0
Fantastic! Thanks for that.
Works exactly as needed - and will also let me match against other client property fields.0
Excellent, good to hear
Will this work for two numbered list without code?0
What is the formula in the Name Check line item please?0