Alteryx, Bicycles and Teaching Kids Programming.

The bike industry, like any other, has repeated fads that are designed to separate us consumers from our money. The latest fad is fat bikes – bikes with tires greater than 4″ wide tires. The original idea was a bike that you could ride on snow. I guess it was invented by crazy cyclists in Alaska or something. The hype though goes far beyond riding in the snow – people kept telling me how amazing the big tires are on dry land as well. Continue reading →

Sometimes you need to look back in order to look forwards. Sometimes its just nostalgia. While we are hard at work in Boulder designing and building Alteryx 10.0, I thought it would be interesting to go back to where it all started. Continue reading →

A few people have been using the macro I wrote about in Alteryx: Wildcard Inputs, but have an issue with XLSX files. The first thing to remember is that these macros I post (on my personal blog) are examples only and are not a supported part of the product. I am happy to give people advice on how they might take what I did and extend it. However, in this case, I thought it might make a good post about Alteryx macros with optional parameters, so I went ahead and did it anyway. Continue reading →

Radio Shack is on its way out. I was probably about 10 years old when my mom bought me a TRS-80 Model 1 (but level 2!) computer. Although I had previously learned a little programming on my school’s time shared access to a PDP-11, this was my 1st computer that was all mine. Continue reading →

One of the really great strengths of Alteryx is that is can handle any amount of data that you throw at it. If your data is small enough, it might all be in memory, but when Alteryx gets more data than fits, it silently swaps out to disk. This way people are routinely processing data sets that are 2, 10 or even 100 times bigger than they have enough memory for!

Mostly the user never notices this aspect of the Alteryx engine and it just works. There are times though when we get feature requests that would be much easier to implement if all the data was in memory. One example of that is aggregate functions in the formula tool. Since other desktop products that are similarly easy to use, like Tableau and Excel, have simple SUM and AVG type functions in their formulas, it is assumed that Alteryx would too. Continue reading →

One of the most common questions I get about Alteryx is: “How can I make my module run faster?” Although Alteryx can be very fast, since it is such a general tool, it is only as good as the module that you have authored. There is a very simple guideline that you can follow to make a module faster: do less work. The most common example of doing less work is to use the select tool as early as possible to remove fields that you are no longer using. In order to walk you through the process I use to make an Alteryx module run faster, I am going to walk through the process of optimizing my Percentile Macro to run as fast as possible.

There was a recent question on the Alteryx forum: How to use the percentile in summarize. The question misunderstands the percentile function in the summarize and is looking for something slightly different, although with similar math. So what does the percentile in the Summarize tool do? From the help:

Percentile: Calculates the specified percentile value for the group. The percentile is calculated by sorting the data and returning the row value relative to the specified percentile and its position in the sorted array – the largest value is the 100th percentile, lowest value is the 0 percentile, median is the 50th percentile, the 25th percentile is the value in the middle of the median and minimum, etc.