Inspiring Ingenuity

Alteryx, Bicycles and Teaching Kids Programming.

Alteryx: 9.0, 9.1 & Beyond

When the Alteryx 9.0 release got near crunch time, I got busy and obviously stopped posting here.  Once you get out of the habit, you forget to start back up.  Anyway, the time has come to start up again.

I hope that I am going to see many of you in just over a week at Inspire.  Inspire is many things to different people, but to me it is a chance to connect to our customers.  I will be found in the Solutions Center for as much time as I can possible manage.  I love talking to customers, helping your with issues, listening to product ideas, and just generally understanding how you work.  Please do not hesitate to ask me anything – in the solution center, at meals, or any other time you see me.

Inspire really is an amazing opportunity for clients, prospects and us in development to connect.  Many times what we learn there talking to people can shape the road map for months or even years to come.  So if you are on the fence, it really is worth it, I promise.  Again, I hope to see you there.


The 9.0 release is out, and seems to be a great success.  You can find coverage of most of the new features elsewhere: The official press release, the official change log, my colleague Adam’s blog. While obviously the new App/Macro authoring paradigm and the on-premise server are the biggest features, and the ones that occupied the most development time, I want to talk about some of the more obscure features that you won’t hear about from marketing press releases.  While we are always looking to add new features, we are also always trying to prioritize little features & fixes that make the day to day use of the product better.

DownloadDownload Tool:  I am going to call out the download tool here even though it did get some mention in the more official notes.  As Chris Love found, it has been completely redesigned allow POSTing data to websites to better connect to online APIs.  In fact, a large portion of the press release mentions social tools that are macros made possible with the improved download tool.  It also added support for SFTP sites which was a major customer request and an invisible feature.

MultiFieldFormulaMulti-Field Formula Tool:  This tool has a new feature that allows you to run a formula on all types.  Previously you would have to choose to run it on just strings, or just #’s.  It all adds a new variable, [_CurrentFieldType_] so you can know which type you are currently working with.  This can be very handy if you want to do a batch conversion to strings or other batch type operations on fields.

SummarizeSummarize: The Summarize tool got a few new features.
– A new numeric option: Percentile.  This allows you to specify the percentile value you want to return, the median being the 50th percentile.
– A new string option:  Count Non Blank.
– Enhanced string Concatenate:  You now have the option of adding a fixed string to the beginning and end of a concatenated result.  We saw in many customer modules that the summarize tool would be immediately followed by a formula.  This allows you to directly make a quotes list, or fully formed XML, etc… without an additional tool.

 FormulaFormulas:  There are a few hidden features/bug fixes inside of the expression language that make make a big difference.
– Optimized constants:  In the past if you had an expression like [Field1]<60*60*24 it would do the multiplication of the constants for every record.  Now it doesn the multiply once at parse time.
– Boolean logic short circuit:  In the past the expression IF [a]!=0 && [b]/[a]>5 THEN1 ELSE 0 ENDIF would fail with a divide by 0 error.  Now it short circuits the second half of the boolean logic to work the way it should.
– IsNull(…) works properly with Int64 #’s:  In the formula engine, all #’s get treated as doubles.  Large Int64s can produce a conversion error when converting to a double that some info is lost.  If only using it to test if it is NULL, that conversion no longer happens.

RR Tool Plumbing Upgrades:
– The R Tool Plugin has gotten a bunch of upgrades that make it go faster and handle more data.  All string fields are now passed to R as factors.  In general the predictive macros needed factors anyway, and specifically there is a lot less data to move.  This resulted in a significant speedup pushing data from Alteryx to R.
– R can now pull chunks of records at a time from Alteryx.  This is important because R does everything in memory.  Too many records and R would crash.  This allows the predictive macros to score (theoretically) unlimited amounts of data.

BlobInputBlob tools:  There are 3 new tools for reading, writing and converting blob fields.  We have had support for blobs since version 1.0, but you couldn’t do much with them in Alteryx.  These tools allow you to do some basic manipulations of blobs, as well as read & write them as files.

App2General Features: Non admin install.  There is now a version of Alteryx that doesn’t require admin privileges to install.  One consequence of this is that you can now have 2 versions installed on the same machine – 1 installed as admin, and 1 installed as non-admin.


I know you might be just starting with 9.0, but for us in development it is already old news.  We are working hard towards a 9.1 release on a relatively quick time frame – maybe by the end of the summer.  We are using this opportunity to work on what we call technical debt, so there will not be a lot of new features.  While the real feature list and release date will be announce by the marketing team, here are some things we are working on:

  • Additional automated testing:  We found a few issues in 9.0 a little too late in the development cycle for comfort.  We are going to be investing a significant amount of time on automated testing so we make sure we are on a strong foundation going forward.  This is not to say that we didn’t already have fantastic automated testing, but we had been working so hard on features we had maybe fallen a little behind.
  • Caching:  Some tools that consume external web services, like the Marketo & Salesforce tools can slow down the experience while building a module while it waits for external data.  We are adding some caching so it doesn’t need to go out to the web at configure time.
  • Optimizations:  We are spending a bunch of time in the profiler looking at where we can speed things up.  Alteryx is of course already quite fast, but it can always be better.  In some cases we have sped up things as basic as the sort (which is also used in lots of other tools like join, etc…) by as much as 25%.
  • GUI Usability:  In the past the Alteryx Designer GUI was a side project of the engine team.  We now have a whole separate development team just to work on the GUI.  They will be doing lots of little features to make the GUI more responsive, more robust with things like undo/redo and lots of small little features that should add up to a better user experience.
  • Small Features:  There will of course be a bunch of small features in 9.1, but that will not be the primary push for this release.  I will allow the marketing team to announce things in due course.

& Beyond

With clearing out the technical debt in the 9.1 release, we will be free to push towards a another feature packed release – probably versioned 10.0, with likely a longer development cycle than 9.1.  We hope to have 2 or 3 features that are going to really knock the socks off of people, but it is way too early to discuss what they might be.  In general I don’t like to announce new things until 80% of the development is done and we know there aren’t going to be a lot of risk of not succeeding.  The nature of pushing the envelope is that sometimes you work for a while on a feature just to throw it out because it isn’t as good as you had hoped.

Thanks for reading,



Comments are closed.