This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Weekly Challenge
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Unable to display your progress at this time. Please try again a little later, or contact an administrator if you continue to see this error.
Challenge #144: Secret Santa Assignments (BAH HUMBUG!)
I remember this being the most recent challenge available when I first began using Alteryx. I tried forever trying to solve it but couldn't. Now that I know how to do iterative macros, it was a LOT easier and even managed to get it in the exact same order as the output solution. Definitely a milestone challenge for me.
OK – I spent way too long on this one. I must admit – did this 5 different ways before looking at other people’s solutions and was super embarrassed by just how elegant @patrick_digan ; @vsoni ; @jdunkerley79 etc solutions were.
I threw everything at this - location optimizer; batch; iterative - they all worked for a subset, but not for the 50... Guess that's the pain of NP Complete type algorithms.
(did an iterative solution like @CHarrison ; @JoBen ; @kat ; @cgoodman3 – and similarly to @CHarrison didn’t get a result after 10 000 iterations - but if I strip these down to a smaller number of people they all work)
The genius of the simple mentiod other people provided is that you just d
Solutions used: 1: Simple chain - match each person to the next in the list in a ring, ignoring scrooginess
2: then location optimizer to find matches within the scrooginess threshold - This one is a random process by definition and with 50 items this is a huge solution space to find a solution randomly.
3: Then did a random-try batch macro 4: then an iterative macro 5: then an iterative macro with a reduced match set to eliminate known bad matches
6: finally - did the 50% list split like the wise folk mentioned above
Even though these didn't work on the full data set - still a great practice for different kinds of macros!