Solved! Go to Solution.
- Minimal coding / quick learning curve / Intutive UI
- Self documenting
- Data source agnostic
- Auditable at each step/ logging
- Advanced Analytics
- API
- Easy to work with unstructured data (XML, JSON, RegEx)
- R support (Python soon)
- Spatial
- 3rd party data enrichment
- tons of free macros
Communication with data owners/business owners. I can show them an Alteryx workflow and walk them through what is happening with their data. I can't do that with SQL. They can sign off on each and every step, or correct the process when there wasn't clear communication.
Here is how I approach every task when it comes to the SQL v Alteryx question.
The less complex the query, more it makes sense to use SQL. If I just need to take a few fields from 3 or 4 tables and join and sort them, it makes sense to just write that query and throw it in an excel files or viz tool that updates whenever you need it.
However, when you are having the conversations around disparate data and pivoting and web scraping and replacing subqueries and testing and documentation, Alteryx very quickly becomes the farm to table solution.
Often, I find myself drawing this out to give people the idea of what I am talking about.
All great comments so far. General connectivity for data blending is another one. To process a .csv or .xlsx (or .html or .sas7bdat or etc...) in SQL you would need to jump through some hopes to bulk load it. In Alteryx, you simply target input from any of multiple types of data source, and start blending them together for analysis.
One oft overlooked thing, in my opinion, is how SQL relates to the phrase: "Can't see the forest through the trees". When working in SQL we often get caught trying to you are trying to achieve the result you are looking for, but fail to see what it is not. The ability to view data at every step of the process, see what data is being excluded, pruned, changed throughout the workflow can allow for a) high quality of output and b) expedient QA c) faster fix response time.
They mentioned documentation - to expand on this - SQL technically documents itself as well in the code but the readability of that code varies a little from user to user and requires some SQL background to get through and isn't exactly easy to pick up someone's SQL and run with it very quickly. Alteryx on the other hand presents you the information in a more easily digested flow format that anyone can walk through in a linear fashion and quickly begin to understand what that flow is doing (which others mentioned as well).
1. Flexibility
2. Speed in building out simple to very complex programs
3. Revising and reusing flows is extremely easy
4. Documentation of your program while building it and requiring very little extra effort to leave behind a guide another user could follow quickly
5. Automation possibilities
6. Data source integrity remains intact no matter what you do in Alteryx (well unless you write back to a source table as your output I suppose)
One con I'd mention is that at least effects me all the time is having to learn new syntax with this Regex stuff but if I were more versed in SQL it would probably be easier to pick it up.
LOL recently discovered that SQL doesn't accept REGEX statements, so for a particular business need of stripping letters and punctuation out of phone numbers, it can be done SUPER easily in Alteryx (probably don't even need a REGEX statement). But in SQL it looks like this:
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(string,'a',''),'b',''),'c',''),'d',''),'e',''),'f',''),'g',''),'h',''),'i',''),'j',''),'k',''),'l',''),'m',''),'n',''),'o',''),'p',''),'q',''),'r',''),'s',''),'t',''),'u',''),'v',''),'w',''),'x',''),'y',''),'z',''),'A',''),'B',''),'C',''),'D',''),'E',''),'F',''),'G',''),'H',''),'I',''),'J',''),'K',''),'L',''),'M',''),'N',''),'O',''),'P',''),'Q',''),'R',''),'S',''),'T',''),'U',''),'V',''),'W',''),'X',''),'Y',''),'Z','')*1 AS string
AAAAARRRRRGGGGHHHH! This is now one of my major selling points for Alteryx!
PS my new favorite annoyance in SSIS is Pivot. Totally more complex than it needs to be!
Wow yikes! @ThizViz in Alteryx that's as simple as using the Data Cleansing tool, selecting the Phone number field and selecting remove Punctuation, Letters, and I'd throw in All Whitespace too just for good measure and your phone number field would be nothing but numeric.