I just upgraded to Alteryx 10.0 today and wanted to share my findings. Overall the upgrade was quite seamless though they do require an uninstall of the prior version effectively preventing true side-by-side comparisons on the same box. Below are some key new features that jumped out at me.
Probably the most popular feature everyone was looking forward to was the new “Browse Anywhere” option which is indeed very handy. You can now view a sample of data flowing through any tool by simply selecting the tool and viewing the Results panel (formerly called output). Note how the results screen now has several icons on the left that represent different viewing tabs.
One challenge most data integrators eventually face is the need to spread data down to different time periods. This could mean spreading weekly data down to days, or multi-week events down to individual weeks. This can be challenging with traditional databases since spreading typically involves generating an unspecified number of new rows of data which SQL is not really designed to do.
Ok, ok, maybe this isn’t technically hacking, but it sure feels like it! While at the Alteryx Inspire conference this year I learned that you can actually access the XML behind any workflow tool effectively bypassing the GUI entirely. Granted, you won’t need to do this very often, since they do have a good GUI, but there are cases where it sure comes in handy. In one of my recent posts, I showed how this can be a big help with the select tool, and today I’ll show how I just used it on the formula tool.
I just got back from a great week in Boston at the Inspire conference. It was exciting being around 800+ other data enthusiasts, though I have to say it was humbling too, seeing all the great work everyone else is doing.
Here’s a snapshot of me and my coworkers at the conference:
I especially enjoyed a talk by Chris Love and Team from the Information Lab, showcasing projects they’ve done with Alteryx. It was inspiring seeing how Alteryx is being used to pull together such a broad range of data to create visualizations that are much more than the sum of their parts.
In today’s post and video I’m going to share a quick way to rapidly populate the select tool in Alteryx if you need to change the data type or rename a bunch of fields in your data stream. While Alteryx’s visual interface does result in extremely simple and intuitive workflows, one downside for hard-core developers is the loss in productivity experienced by using a GUI vs. generating code directly. Fortunately there are some workarounds…
Imagine that you have a dataset with over 100 generic column names. You already know the final set of column names that you’d like to use, the question is how can you quickly overlay the new names over the old column names in you data. Below is a screenshot showing the normal manual method for renaming each field or change the data type using the select tool.
Of course that’s all well and good, except you don’t want to have to manually type all the new names in. If you want to do a bulk change, then you can use the Save Field Configuration option.
One of the most common tasks in any ETL project is converting data types. When data begins in the form of a text file or (even worse) a formatted excel file, one often has to load the data as text fields initially and convert to proper data types after parsing out the relevant data.
Thankfully Alteryx has a lot of built in features to facilitate this. One is the Multi-Field tool of which I gave an overview in my earlier post. This handy tool lets you apply the same function across a whole set of columns without having to laboriously replicate it separately for each column as you must do in SQL select statements.
In many cases, however, one doesn’t even need to use any explicit data conversion tool in Alteryx – instead, you can just use the handy select tool which let’s you easily specify the data type you want while also allowing you to rename fields. In the screenshot below, I’m using a select tool to convert generic field names (i.e. Field_1, Field_2, etc.) into more descriptive fields while at the same time converting them to the desired data type.
While this tool works great most of the time, one always seems to run into a catch eventually as I did the other day. I was trying to load some data from CSV files that had extremely precise numbers stored as text (such as “53.534859348793489433498”). When I tried to use the simple select tool to convert these text fields to numbers, I received an error message at run time that the field I was trying to convert “had more precision than a double. Some precision was lost.”
While Alteryx has many great functions right out of the box, I realized one thing they’re lacking is an increment function (or at least I haven’t found one). Anyone who’s worked with SQL is familiar with the Identity data type that allows you to specify a seed and an increment value as follows:
IDENTITY [ (seed ,increment) ]
This allows you to create a column that automatically generates new, unique integers by incrementing the starting “seed” value.
Occasionally when loading text-based keys or natural keys into a normalized database it’s helpful to be able to generate incremented IDs. Below is a snapshot of how I was able to accomplish this in Alteryx using the multi-row function.
The first data input is simply an excel file with a column of text values (item descriptions) as seen below.