Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Weekly Challenges

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

Also available in | Français | Português | Español | 日本語
IDEAS WANTED

Want to get involved? We're always looking for ideas and content for Weekly Challenges.

SUBMIT YOUR IDEA

Challenge #116: A Symphony of Parsing Tools!

ggruccio
ACE Emeritus
ACE Emeritus

That was a challenge!  There are probably ways to do it with less tools than I used....I'll have to examine some of the other submissions!

 

Spoiler
My real challenge here was determining how to work with multiple dates and performances.  The results to compare to seemed to imply only one date and time per program ID, however I had multiple dates and times.  I divided the data stream - choosing only the first date - and then merged that back with the data on the work (soloists, etc.)
SeanAdams
17 - Castor
17 - Castor

This was more fiddly than difficult - spent a lot of time aligning fields, changing types etc.

 

 

Spoiler
2018-06-03_17-47-01.png

 

estherb47
15 - Aurora
15 - Aurora

Great practice with the XML parsing tool!

My original workflow treated each instance of the program (e.g., same program, different days), as a record. Simple Unique tool at the end of the workflow took care of that.

Fun fact. I could verify this list with one of my dear friend's father -- he's been the librarian of the NY Phil for many many years!

LordNeilLord
15 - Aurora

I HATE XML PARSING

 

Spoiler
116.png
DawnR
8 - Asteroid

I had to copy the xml file first, since our network blocked the download tool use, but got it done. Good practice for xml parsing.

jasperlch
12 - Quasar

Solution attached.

JosephSerpis
17 - Castor
17 - Castor

Challenge Completed

kat
12 - Quasar

When this challenge first came out I had no idea how to solve it, but now I'm slowly starting to feel comfortable with XML parse :) could probably do with a few less tools!

 

I took into account all concerts, so I have a few more rows (at least that's what I think is the reason!)

Spoiler
Challenge #116.PNG
DavidP
17 - Castor
17 - Castor

Great challenge!

 

I also initially got one less record than the published results, relating to Program 12104 Piece 7955* which is a second intermission.

 

My filter condition Isnull([Interval]) excluded this, but when I change the filter condition to [Interval] != "Intermission", I got the same as the official results.

 

It really helps to open the xml file in a browser before you start to just see which headings contain the data that you want and how many levels you have to parse to get to them.

danilang
19 - Altair
19 - Altair

Ah!  The joys of running on an under powered (8GB) machine.  I had originally built my workflow linearly, parsing each layer in-line with the previous one.  By the time I was parsing the work info, it taking upwards of 3 minutes and generating 10GB data sets.  And this was before had even started on the soloists.  I changed tactics and parsed the major node types in parallel.  Now, complete run time is under 10 seconds, including the download and the largest data set is only 30MB

 

Divide and conquer saves the day

 

Spoiler
Solution 116.png

Dan