Weekly Challenge

Solve the challenge, share your solution and summit the ranks of our Community!
IDEAS WANTED

We're actively looking for ideas on how to improve Weekly Challenges and would love to hear what you think!

Submit Feedback
We've recently made an accessibility improvement to the community and therefore posts without any content are no longer allowed. Please use the spoiler feature or add a short message in the message body in order to submit your weekly challenge.

Challenge #1: Join to Range

Highlighted
8 - Asteroid

Solution attached

Highlighted
Alteryx Certified Partner

Hi Nikos,

 

in this case, the Generate Rows tool would limit the amount of data. However, I don't typically use the tool as a first pass.

 

Each region's range has 20 Postal Areas. Generating Rows for each region multiplies the data by 20. I multiplied by 5. While there are only 5 regions getting 20x and I'm multiplying a larger data set by 5x, my solution scales much better in real world applications.

 

Imagine a case in which you have a date, cost, and item. The dataset is 30MM+ records. You want to sum the costs per item over a rolling period of 12 months. If you create a date 12 months back for each row and use the Generate Rows tool to duplicate each row by 365 and self join, the join will be monstrous, use all the memory of your machine, and crash 10 hours later. You are multiplying 30MM+ records by 365 to almost 11 billion records and then self join. Or, you can create a cartesian product using the Join on item only and then filter the records out that don't fit the rolling 12 month period. Now, you can finally sum.

 

I experimented using both solutions and put the second one into production some time ago. While the Generate Rows would work in this artificially small and contrived dataset, it wouldn't scale well. Finally, It wouldn't be much fun if I posted the same old solution as everyone else.

Highlighted
8 - Asteroid
Spoiler
Generate Rows for the win. 5 Minutes - and to think I had to skip this one when I first started these in the spring!

challenge_1_solution_justindavis.PNG
Highlighted
8 - Asteroid
Good exercises - thanks
Highlighted
5 - Atom
Spoiler
Challenge 1 Screenshot.PNG

Think this is a bit easier now 

Highlighted
6 - Meteoroid

Learned some new functions available and now that I know more about how Generate rows works I'd consolidate a little bit, but it works.

Highlighted
6 - Meteoroid

Attached is my solution.

Highlighted
8 - Asteroid

I chose to generate rows directly from the Input without a formula, although I think splitting out your ranges would make the workflow easier to follow. 

Highlighted
8 - Asteroid

Tile tool baby!

Highlighted
6 - Meteoroid

Hi there,

 

As attached is a screenshot of my workflow and the file!

Spoiler
clipboard_image_0.png