I was talking recently with a fellow analytics expert I know from my ACL days. The question came up: does Alteryx have a function to calculate the dice coefficient between two text values? It was a great question, because while Alteryx has several fuzzy matching algorithms, dice coefficient is not one of them. Also, I had forgotten about dice coefficient and suddenly wanted it in my Alteryx tool belt. After a brief search I found a Python implementation of the algorithm and decided to integrate it into Alteryx. …


It has been almost seven months since I announced the alpha of goalteryx, the unoffical Go SDK for building custom Alteryx tools. Now with v0.5.6 it is time to go beta. There have been a lot of changes and some new features I am excited to announce! But first…

What is goalteryx?

I gave it away in the intro sentence, but goalteryx is the unofficial SDK for building custom Alteryx tools using the Go programming language. All of the tools you drag into an Alteryx workflow canvas are little plugins of code, even the built-in tools. The existing tool suite is expansive and…


“Code free…for amateurs”

Thus began my relationship with Alteryx.

It’s a fair reaction to call my attitude snobbish. Yet, my reaction to Alteryx was as much defensive as it was driven by pride in my ability to code: my department decided to quit our script-based tool cold turkey and I was on the transition team to rebuild our infrastructure with Alteryx. Also, for years I had been digging deeper into general-purpose programming and was interested in coding more, not less. If I can code, why do I have to use this thing? It’s not made for me. Why should I…


Who else was excited when the technical preview for Flutter for web was announced? I know I was! Flutter is by far my favorite UI framework. But until the announcement it was limited to building cross-platform mobile apps (which, come one, is already pretty great). With it’s newfound ability to target web, a beautiful bridge was created between my interests. Alteryx, my favorite data analytics platform, provides SDKs for creating custom tools. The UIs for those tools are built with web technologies. Now that Flutter is a web technology, we can build the UIs in Flutter.

There is a bit…


Photo by Steve Halama on Unsplash

There are many topics regarding Alteryx, data analytics, and coding which are fun and compelling to talk about. Topics which force you to think, give you ‘aha!’ moments, or make you glad you chose this line of work to define your contribution to society. This is not one of them.

When Alteryx announced they were deprecating the .NET SDK, my first reaction (after I cried a bit) was a bold, brave decision to abandon C# and learn C++. I know it is going to be tough, but I am willing to put in the time and effort to make it…


Photo by Ivana Cajina on Unsplash

We were made for each other. Literally. Every essence of our beings was intertwined. Like cookies and milk, unicorns and rainbows…pigs and mud? Completely complementary, we didn’t mirror each other, but rather we made each other complete, fit to serve a grander purpose than ourselves. Which made reality all the more bitter. We were made for each other, but not meant to be together. I had to let her go.


“clear glass Erlenmeyer flask lot” by Elevate on Unsplash

What’s faster than an integer? Certainly not text strings; those things are slow. String comparison usually involves some sort of loop to compare the individual characters of one string to another. Integers? Those can be compared right in the CPU registers at the hardware level, no looping required. If you want to compare two values quickly, integers are a great way to go.

Want to hazard a guess how most SAP primary keys are stored? Hint: it’s not integers. This usually is not a problem; many of the datasets I interact with are sufficiently small that I haven’t even thought…


“pearlescent gemstone” by Marc Sendra martorell on Unsplash

Hey, it’s me again. No, I haven’t disappeared. Q3 was…quite a quarter. I code as a hobby, so I ramp my activity up and down based on how much free time I have. You know what takes a lot of time? Work. Work takes a lot of time, especially when a certain hobby programmer has the unbridled optimism of a child as he calculates deadlines for mission-critical projects. Also, I began another hobby coding project, because of course I did. I am channeling my inner Elon Musk here. …


Do you know what’s great? Programming. I love programming, almost as much as I love flying, and I have been obsessed with that for the last 24 years of my life. There seem to be few endeavors which allow you to quickly prototype, test, re-design, re-test, and reorganize your work with little to no cost and with a feedback loop measured in milliseconds. Combined with test driven development, it allows system-minded thinkers and tinkers like myself the ability to really explore and create at the speed of our minds.

My day job, however, is not programming; it is data analysis…


Using Alteryx, how do you extract all of the matches of a regular expression from a field of text? This was a question I came across on the Alteryx Community. For example. if we have the following table, how would we extract all values that start with ‘A’ and end with a number into different records?

+------------+
|ID |Text |
+---+--------+
|1 |A1 A2 A3|
+---+--------+

If we do it right, the output should look something like this:

+----------+
|ID |Match |
+---+------+
|1 |A1 |
|1 |A2 |
|1 |A3 |
+---+------+

I was very excited to answer this…

Tom Larsen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store