If you have a chained app uploaded to the Gallery and need to adjust one of the other workflows or assets in the chain, you can easily open the file location by right clicking the workflow name and choosing "Open Containing Folder".
If you are spending too much time adjusting the formatting of COMMENT objects you can place examples of your preferred layouts in a workflow that serves as a COMMENT LIBRARY. Keep this file loaded all the time when you are creating or editing workflows. Then cut and paste from the library as needed. This is a great place to maintain branding elements like logos, images and copyright notices for quickly adding to your work..
I am rapidly becoming a big fan of the documentation and workflow organization options in Alteryx as a way to keep track of where things are happening in my workflows, and helping provide explanations to those who are trying to interpret/learn from the workflows I've created. By simply adding some comment boxes and tool containers to help organize the steps of the workflow, it becomes very easy to walk through a workflow and explain what is happening in each tool or group of tools, rather than having to click into each tool to see what configurations were used, and/or scrolling all over the workflow to find the next step in the process. So for best practices, I try to do one or more of the following for most every tool/sequence of tools:
1. Annotate tools to provide simple explanation of what is being done in that tool (Filtering for X, Sorting by RecordID, Eliminating NULL values, etc.)
2. Group tools together in a tool container when they are accomplishing a specific task together. Also, I always put all my app prompts in an "APP PROMPTS" container - this helps me keep track of the prompts being used and quickly connect them to various tools throughout the workflow. Usually do the same thing for any error outputs as well, grouping them together so that I can track all my errors in one place.
3. Comments are helpful for a variety of options - including a logo in your workflow like @MarqueeCrew suggested... providing more detailed explanation of the how/why of a particular step or group of tools... and then I am always leaving comments throughout in-development workflows to remind me of places that I need to come back to for further revision - highlighting them in bright colors makes them pop out as I continue to refine the workflow, and help make sure I don't forget about the little things that still need to be tweaked!
And for those who use Gallery... I have found that it is extremely helpful to take the time to fill in the Meta Info on the workflow configuration tab prior to saving to the Gallery. Including a basic description of what the workflow is doing, plus information about who created it, is so helpful for future questions & troubleshooting.
Happy workflow organizing!!
Particularly when dealing with large data sets, convert your data to a .yxdb before building the rest of your workflow. EVERYTHING works faster using .yxdb as the source.
So trim your data first if you can (SELECT, FILTER), then dump it out as a yxdb. Build your workflow off of that.
Then, you can automate this process to accommodate data updates by using the Runner in the CReW macro tools - run the first workflow to make the conversion and then the second to manipulate your data further.
One more idea - don't struggle too long!
I know, I like to work things out for myself too. But when the ROI hits a tipping point, search the community forums or post a new question.
Alteryx is FUN! So if you're fighting too hard for a solution, let someone else help! :-)
tldr; you can use charfromint(34) anytime you need a double quote in your expression. This avoids mixing single and double quotes.
I normally use double quotes when writing expressions, but I would switch to single quotes when I need an actual double quote in my field. Whenever I have to come back to these expressions, it's hard to modify them and keep all the single and double quotes straight; instead, I have switched to always using double quotes, never using single quotes, and using charfromint(34) for double quotes in my field. The top formula is what I used to write, while the bottom formula is what I currently use. Although it takes up more space and more verbose, it is MUCH easier for me or somebody to understand what's going in the bottom case.
To chain different flows together to operate in a particular order (e.g. append an excel spreadsheet into your database; and then run a separate job that summarises all the rows and performs work on these) - you can use a batch macro.
Batch macros are the only macro type that holds operation until each iteration is completed - and so you can create very complex chains of workflows, each contained in their own Alteryx macro - and guarantee that they will process strictly in order with each waiting for the previous one.
To identify duplicates rows in a table - use a unique tool but select all fields except any auto-incrementing ID columns.
The duplicates will be on the second "D" channel; along with the key.
For large data sets - transport from disk through processor through network can create a significant performance hurdle.