Importing a list from Hub into Spoke Model

Hi Experts,

I have an import set for a list from data hub to my spoke model. My concern - the list items in the list on Data hub keeps changing based on the updates made in the upstream system. As an example say in Nov - I had the id ABCD1 as a list member in Data Hub and also in Spoke model when data was pulled.

Now in Dec - Upstream system decided that ABCD1 was an incorrect record and deleted it. My Data Hub list now no longer shows me ABCD1 as a list member. However my spoke model will continue to show it which is creating data inconsistencies between the models as the spoke model is holding old to now an invalid record. I dont see an option to Clear target prior to import the way we see in module imports.

How do I go about it? Please help.


Thank you,

Megha

Best Answer

  • Hello @Megha27 ,

    If I understand correctly, you have items in the spoke model that were originally imported from the hub , but do no longer exist.

    Could you import a boolean that is true for all the items in the hub into a system module within the spoke model? The old items will be identified as false once the import arrives, so you can then create another boolean to drive a delete from list using selection action.

    Hope that was helpful!

    Kind regards,

    Bruno Rodriguez

Answers

  • Hi @BrunoRodriguez ,

    Thanks a ton! This helped me solve the issue. I am starting to think that more often than not, most solutions can be found using a boolean in Anaplan haha. I have a lot of list to list import set up in my models so this issue was helpful to uncover and something to keep in mind going forward.

    Truly appreciate your help,

    Megha

  • Hello @Megha27 ,

    Most issues are genunly easy to fix, but you have to have seen them once or spent some time thinking about them. But yes, booleans are the best!

    Happy to help!

    Kind regards,

    Bruno Rodriguez

  • @BrunoRodriguez Yes exactly. Everytime I am done implementing something - in the hindsight it sure looks like the solution was very easy.

  • Hello @ space waves

    Create a module in your Spoke model with the target list as a dimension. Then add a Boolean item named Delete. Use a formula to mark items for deletion. For example:

    Delete = NOT FINDITEM(Source List, NAME(ITEM(Target List)))

    This formula will mark items in the target list that do not exist in the source list. Create an import action that uses the Delete Boolean to remove the marked items from the target list. Map the Delete item to the target list and configure the import to delete items where Delete is TRUE. Schedule or manually run this delete action before your regular import actions to ensure that outdated records are removed from the Spoke model.