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.
We need color coding in the SQL Editor Window for input tools. We are always having to pull our code out of there and copy it into a Teradata window so it is easier to ready/trouble shoot. This would save us some time and some hassle and would improve the Alteryx user experience. ( I think you've used a couple of my ideas already. This one is a good one too. )
Often as I am scraping web sites, some clever developer has put an invisible character (ASCII or Unicode) in the data which causes terrible trouble.
I've identified 89 instances of zero-width or non-zero-width glyphs that are not visible and/or Alteryx does not classify as whitespace. There are probably more, but Unicode is big y'all.
Unfortunately, the Trim() string function only removes 4 of these characters (Tab, Newline, Carriage Feed, and Space). REGEX_REPLACE with the \s option (which is what the Cleanse macro uses) is a little better but still only removes 20. And it removes all instances, not just leading and trailing.
My employer just started with Alteryx, so I'm sure after a few months, this will be basic simple, but I'm sure I'm not the only person who has made this mistake, so there you go...
I was running a larger workflow that ends with outputting a table with about 80 columns. Everything was working fine, except for one column, which kept coming up as all 0s. Took me a while to find it, but the error all traced back to an error I made with a "Contains" function in a Formula node.
The Alteryx "Contains" function takes two arguments, 'string' and 'target'. I interpreted this as 'find this string in this target variable', and entered two arguments: the string of characters I was looking for first, and then the name of the column I wanted to search in second.
I think I had this backwards. You need to enter the column name first, then the substring you want to look for second. So the column name is the 'string' and the search term is the 'target'. Me getting these reversed did not produce any errors or warnings, which I understand (e.g. maybe you might want to pairwise search for the text in one column in the text of another).
I think the terms 'string' and 'target' are kind of vague labels in this case (in Excel, for example, the analogous "Search" function takes the arguments 'find_text' and 'within_text', which is a lot harder to misinterpret). So I would suggest changing the argument names in Designer and the online documentation, or at least adding text to the Alteryx Documentation (https://help.alteryx.com/2019.2/Reference/Functions.htm) that clarifies which is which.
Normally, I'd say this is a pretty minor thing, but since this is a potential 'silent error', I'd argue it's worthwhile.
(Also, the online documentation seems to imply there is a "CaseInsensitive" argument you can pass to "Contains", however I don't think there actually is. May want to edit that for clarity.)
Often in larger workflows, I will copy data partway down the stream into a new workflow in order to troubleshoot a small section in order to avoid having to run the workflow over and over again which can take a while. I'm aware (and thankful) of cacheing, but sometimes if there are many parallel streams or, I'd rather just copy the data from the data preview built into the tool so I don't have to take the time to run the workflow again. I'm also aware I could output a yxdb file and use that, but again that takes longer than I would like.
The issue I run into is if I copy the data and paste in a text input tool, all the field types change to what they would default to. This is fine with new data, but for data that has specific fields throughout the workflow, this can be a hassle. If copying data could also copy the field type and size that would be great.
One of the biggest and most impactful changes would be support for detailed unit testing for a canvas - this could work much like it does in Visual Studio:
In order to fully test a workflow - you need 3 things:
Ability to replace the inputs with test data
Ability to inspect any exceptions or errors thrown by the canvas
Ability to compare the results to expectation
To do this:
Create a second tab behind a canvas which is a Testing view of the canvas which allows you to define tests. Each test contains values for one or more of the inputs; expected exceptions / errors; and expected outputs
Alteryx then needs to run each of these tests one by 1 - and for each test:
Replace the data inputs with the defined test input.
Check for, and trap errors generated by Alteryx
Compare the output
Generate a test score (pass or fail against each test case)
This would allow:
Each workflow / canvas to carry its own test cases
Automated regression testing overnight for every tool and canvas
For this canvas - there are 2 inputs; and one output.
Each test case would define:
Test rows to push into input 1
Test rows to push into input 2
any errors we're expecting
The expected output of the browse tool
This would make Alteryx SUPER robust and allow people to really test every canvas in an incredibly tight way!
This got me to think a little more about localized logging options in Alteryx.
At a high level, there are ways to accomplish this in Designer at a User or System level by enabling a Logging directory and then parsing those logs with a separate Alteryx job. However, this would involve logging ALL Designer executions, which seems like it may be overkill for this need. A user can also manually save a log after each execution, although this requires manual intervention.
I think adding an option in the Runtime settings for Workflow Configuration to Enable Logging and (optionally) specify a Logging directory would be a great feature add for Designer. In my opinion this should not apply once a workflow runs on Server (Server logging should be handled in a fully standardized way), but should apply to designer "UI" execution. Having the ability to add a logging naming convention (perhaps including a workflow name and run date in the log name) would be icing on the cake.
This would allow for a piecemeal logging solution to log specific flows or processes that might be high visiblity or high importance, while avoiding saving hundreds or thousands of logs daily of less important processes, and of dev test. It would also reduce or eliminate a manual process to save these logs individually.
I have a process that joins 3 data sets to identify a specific group of data and apply certain ruling. From this created file, I need to extract the data (not the headings) from specific columns and insert into an already existing template. The template has formatting that needs to remain in order for it to function.
Hi, i am from ETL back ground and coming from my knowledge i would like to suggest or ask a feature which will helpful in alteryx solution.
"Error Line" : many ETL tools provide an "On Error" line which performs certain actions like "altering user by sending an email", "ignoring and going to next step" etc. It will be great if Alteryx can provide the same feature where we can have an error line (red line) for each tool.
Hope this is not a repeated idea. thank you for all the support and providing a wonderful tool.
When a process is running in foreground, the GUI does an excellent job of giving feedback to the user as to which "step" the job is running and how much data is processing through the active tools. When that same job is scheduled, the amount of information is limited to when the job began execution.
If a tool was able to give checkpoint status out to the user, we could better monitor the progress of scheduled jobs. The visibility to the job is most important for long running jobs. We've unfortunately had instances where we have had to cancel jobs and to restart them not knowing how close or how far from finishing they were.
It would be nice to have the annotations that a user gives a tool with a different background color on the canvas than those tools where the annotation is being automatically populated. Example would be the user gives a tool a specific name that shows up in blue but the formula tools that display the formula preview under the tool show up in yellow.
I have several modules that need to run in sequence. Can a ksh or some other program be used to string the modules together?
So that if I have Step1.yxmd, Step2.yxmd and Step3.yxmd. 2 is dependent on 1, 3 is dependent on 2. I want to tell it the jobs to run and then to wait until that module completes, then run the next.
run Step1.yxmd Wait
run Step2.yxmd Wait
run Step3.yxmd Wait
Or, if I have a group of modules that can run concurrently but subsequent jobs are dependent on all of them to finish, i can let all those jobs run and have the next step wait for those to complete to begin.
run Step1A.yxmd run Step1B.yxmd run Step1C.yxmd run Step1D.yxmd Wait
run Step2.yxmd Wait
run Step3.yxmd Wait
I know this is very simplistic, but hoping it shows the need. Also, we do have the scheduler set up to use, so if there is a way to set dependencies between modules within Scheduler, that might be helpful. Just haven't found anything.
Add an option to cancel an occurrence currently queued to run without it removing, or completing, the original schedule. Not sure if this is by design or a bug but when you cancel a workflow that's in queue, it sets the scheduled workflow to "Completed" even though you just wanted to stop that occurrence and still keep the workflow schedule “Active”.
Also, adding an option to PAUSE a scheduled module. This is useful when you need to temporarily suspend a workflow from running, but save the hassle of re-configuring the schedule when you want to turn it back on.
I would like the ablity to view the processing order of tools within module prior to processing and if needed reprioratize which tool processes first/last. It would also be great to have the ablity to disable a subset of tools within a module prior to processing.
Create a new module that outputs statistics after processing. For instance creating a table of all used modules by reference number with fields for records input, records output, processing time, processor load, memory used. As well as starttime, endtime, username, hostname, etc. This would make debugging quite a bit easier, expecially if the results could be output to Excel.
While Alteryx is processing it displays information in the module with record/file infromatoin. Once processing is complete this information is gone, except for in the output window. Could you add a key combination or button toggle to redisplay this info from the prior run. It would be very helpful for debugging.
I have the Show Properties Window selected, but it is not showing up on my screen. At first I thought it was just hidden and that I could just pull it back from being hidden, but I can't find it anywhere.