This article is part of the Alteryx Obscura Blog series. Alteryx Obscura is the Inspire session dedicated to all things non-analytics, highlighting what the software “can” do rather than what it’s “supposed” to do.
Hi all - It's me again, back with something a little fun in Alteryx!
So, what is it?
"If the question is Alteryx, the answer is yes."
We all know Alteryx can be used for a wide range of real-life applications and benefits, but sometimes it's just fun to explore what is possible, just because we can.
As you may know from my Alteryx Because I can - Snake Game Blog, these blogs act as a way for me to document some of the more unexpected things you can do in Alteryx. Not necessarily because they're practical, but just to explore what the platform can do when you push it.
The Inspiration
Each of these blogs is inspired and dedicated to someone who didn't ask why, but rather why not. For this blog, my inspiration is Mark Gubin, who famously painted "Welcome to Cleveland" on his roof in 1978, despite living near the Milwaukee Airport just 400 miles away. When asked why, his response was 'it was a Wednesday'.
I like that we don't always need a justified reason to do something, especially when it's fun.
Rules of the Blog
The first rule of the blog: You don’t talk about the blog. (No, please do, I really need the gratification.)
The second rule of the blog:

via GIPHY
The third rule of the blog: Don’t question why – only how.
Okay, okay, fine. I’ll give you a little bit of the why.
I've been lucky enough to attend Alteryx Inspire multiple times, and my favorite session each time is Alteryx Obscura - hosted by some incredible Alteryx ACEs. One project that stuck with me is the "Mona Lisa Workflow" - an Alteryx workflow which contains thousands of colored comment tools forming a pixelated image of the Mona Lisa:

The crazy part - This was built before the Intelligence Suite's Computer Vision tools, so it had to be generated externally.
Naturally, this made me wonder:
Could I build something similar, entirely within Base A (No external scripting, no custom Python, just Alteryx tools)?

The Result
Before I bore you with technical details, let me show you what I’ve built: An Analytic App where you simply upload a .jpg image, set your desired width and height in pixels, and hit run.

The app will generate and output a brand new Alteryx workflow file (.yxmd) - where each pixel becomes a comment tool, colored to match the original image.
For example, let me use my good friend @Jean-Balteryx's profile picture:

C'est magnifique!
And some more:

(Me!)

(@pilsworth-bulien-com)

(The famous Alteryx Cowboy Boots by @MarqueeCrew)

(The McLaren F1 car – I won’t be offended if they don’t use this for marketing material.)
So, how did I do it? How did I become the Bob Ross, Picasso, Banksy, Van Gogh of Alteryx?
(This is all an act, I'm not actually this egotistical.)

The logic can be boiled down to 3 simple stages:
1. Reading The Image
Reading the image into Alteryx is incredibly easy thanks to the Computer Vision tools within the Intelligence Suite. The app uses interface tools to allow the user to select the image file and desired resolution, which feeds into the image input and image processing tools.
2. Extracting Pixel Colors
The image is then fed into a batch macro. This is where the magic happens:
- A mapping grid is created using a Generate Rows tool (to define X / Y coordinates for each pixel)
- In each iteration, the macro crops the input image to that specific coordinate and uses the Image Profile tool to determine the most frequent color of that area.
- The output is a full set of RGB values for each pixel:

3. Outputting as a Workflow File
Here's the real fun:
When you drop a comment tool into an Alteryx workflow and inspect the saved XML of that workflow file, you see entries such as:
<Position x="150" y="138" width="100" height="40" />
<FillColor r="193" g="41" b="46" />
Using this as my template, I dynamically build a new XML file, where each pixel corresponds to one comment tool - I already have the grid and RGB colors from step 2.
The XML is saved as a .yxmd file and is ready to open directly in Alteryx as a fully functional (albeit maybe useless) workflow!
(If you're interested in XML editing tricks inside Alteryx, check out @mceleavey excellent post here)
Try it Yourself!
I've attached the workflow so you can create your own images. Simply supply your favorite JPG image, and see the output!
⚠️Quick Disclaimer: This tool generates a brand new workflow from scratch. You can definitely use the same logic to modify existing workflows, but manually editing XML can easily break things.
Note: You will need Intelligence Suite installed to be able to run this workflow. If you don't have Intelligence Suite, fear not - there is actually a Free Trial to unlock this and the Machine Learning, Text Mining, and Computer Vision capabilities within Alteryx!
TheOC Workflow Painter.yxzp