This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
It's the most wonderful time of the year - Santalytics 2020 is here! This year, Santa's workshop needs the help of the Alteryx Community to help get back on track, so head over to the Group Hub for all the info to get started!
We have discussed on several occasions and in different forums, about the importance of having or providing Alteryx with order of execution control, conditional executions, design patterns and even orchestration.
I presented this idea some time ago, but someone asked me if it was posted, and since it was not, I’m putting it here so you can give some feedback on it.
The basic concept behind this idea is to allow us (users) to have:
Repetitive patterns to be reusable.
Select after and Input tool
Get not matching records from join
Tell Alteryx to execute some logic if something happens.
Any other condition
Order of execution
Need to tell Alteryx what to run first, what to run next, and so on…
Run this first
Execute this portion after previous finished
Wait until “X” finishes to execute “Y”
Putting all together
This approach involves some functionalities that are already within the product (like exploiting Filtering logic, loading & saving, caching, blocking among others), exposed within a Tool Container with enhanced attributes, like this example:
The approach is to extend Tool Container’s attributes.
This proposition uses actual functionalities we already have in Designer.
So, basically, the Tool Container gets ‘superpowers’, with the addition of some capabilities like: Accepting input data, saving the contents within the container (to create a design pattern, or very commonly used sequence of tools chained together), output data, run the contents of the tools included in the container, etc.), plus a configuration screen like:
Refers to the actual interface of the Tool Container.
Provides the ability to disable a Container (and all tools within) once it runs.
Idea based on actual behavior: When we enable or disable a Tool Container from an interface Tool.
Input and output data to the container’s logic, will allow to pickup and/or save files from a particular container, to be used in later containers or persist data as a partial result from the entire workflow’s logic (for example updating a dimensions table)
Based on actual behavior: Input & Output Data, Cache, Run Command Tools, and some macros like Prepare Attachment.
Order of Execution: Can be Absolute or Relative. In case of Absolute run, we take the containers in order, executing their contents. If Relative, we have the options to configure which container should run before and after, block until previous container finishes or wait until this container finishes prior to execute next container in list.
Based on actual behavior: Block until done, Cache, Find Replace, some interface Designer capabilities (for chained apps for example), macros’ basic behaviors.
Conditional Execution: In order to be able to conditionally execute other containers, conditions must be evaluated. In this case, the idea is to evaluate conditions within the data, interface tools or Error/Warnings occurrence.
Based on actual behavior: Filter tool, some Interface Tools, test Tool, Cache, Select.
Notes: Documentation text that will appear automatically inside the container, with options to place it on top or below the tools, or hide it.
This should end a brief introduction to the idea, but taking it a little further, it will allow even to have something like an Orchestration layout, where the users can drag and drop containers or patterns and orchestrate them in a solution, like we can do with the Visual Layout Tool or the Interactive Chart tool:
This has probably been mentioned before, but in case it hasn't....
Right now, if the dynamic input tool skips a file (which it often does!) it just appears as a warning and continues processing. Whilst this is still useful to continue processing, could it be built as an option in the tool to select a 'error if files are skipped'?
Right now it is either easy to miss this is happening, or in production / on server you may want this process to be stopped.
I often need to create a record ID that automatically increments but grouped by a specific field. I currently do it using the Multi-Row Formula tool doing [Field-1:ID]+1 because there is no group by option in the Record ID tool.
Also, sometimes I need to start at 0 but the Multi-Row Formula tool doesn't allow this so I have to use a Formula tool right after to subtract 1.
So adding a group by option to the Record ID tool would allow the user not to use the multi-row formula to do this and to start at any value wanted.
Love the new updates to the Browse tool in 2019.2! However, if you choose the option Open results in new window, which I do often so I can see my whole dataset, the search/filter/sort functionality goes away. Would be great if that new functionality also worked in the new window. Thanks!
For those with large web and streaming-media server logs, the ability to geocode IP addresses be an excellent feature, similar to Alteryx's ability go geocode street addresses. Several IP geocoding services exist, with different levels of accuracy and cost. Ideally, the user should be able to choose their own service if they have one, in addition to a default service built-in to Alteryx.
Workflow Dependencies is a great feature. It would be even better if you can save several configurations so that you can switch between them with 1 click only, saving the effort to copy and paste. For example:
Something similar to the Field Configuration (Field Type Files) for Select Tool.
Another option is you save several dependencies there so that you can choose them in the drop-down list of Input and Output tools.
When working with my company’s IT department, they do not allow employees to have admin rights to their computers. This becomes problematic when trying to use the CASS download and not being able to install it. Is there a way to get the CASS data install to be a non-admin like the Alteryx tool? This would be very helpful!!
StreetGeocoder when finds an address returns its fields in CAPITAL CASE which is no good for showing to user. Can it return in a correct title case? AFAIK, source data are in valid title case, but the tool or data preparation team make a standardization which actually makes all letters capital.
When city is not provided StreetGeocoder tool returns the first one in alphabetical order associated with provided ZIP code. For example, if you submit "380 New York St, 92373" the geocoder will return you "MARIGOLD, CA", instead of Redlands, CA which is the primary place name for 92373 ZIP code.
So if an address has multiple city names within the geocode table, can we provide the recommended city name?
It would helpful if you have a tool which will help us to filter out the data using CASS results column in a meaningful way. On the other day, I CASS'ed 2MM customers and ended up with 1500 combination of CASS result codes. I don't think we would have time to sit walk through all the 1500 combination to find out which I should call it as correct addresses and not the right ones. If you have one already that I didn't know of, please guide me.
I have records of with several address fields per store: address 1, address 2, address 3.(e.g. po box 123, 456 main st, suite 600). I geocode each address field in different iterations, but I want my final input to contain the best geocoding level. e.g. Actual before Zip9. Can we rank the geocoding levels like this below? Then it will be easier to filter out the best geocoding level.
A great feature would be for CASS to provide the address type as Residential or Business. Better yet, further breakdown of address type into single-family, apartment, retail, office, commercial, warehouse, etc. This would be very beneficial when analyzing address data from the Tom Tom Address Points Calgary database and can allow a end-user to filter prioritize addresses in their analysis based on the type of address.
How about adding the ability to split intersecting trade areas at the points of intersection to create two new spatial objects. The two objects could then be used to process customer records and divide them into "territories" based on the line of intersection.