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 all love seeing this. And, it's fairly easy to fix, just go find the macro and insert a new copy. But, then you have to remember the configuration and hope that it was simple.
With the tool that's there, the XML still contains the configuration, all that's missing is the tool path. It would be great to be able to right click and repair the path from the context of the missing macro.
Idea: Prompt the user to find a missing macro instead of the current UX of a question mark icon.
Issue: When a macro referenced in a workflow is missing, then there is no way to a) know what the name of the macro was (assuming you were lazy like me and didn't document with a comment) and b) find the macro so you can get back to business.
When this happens to me know, I have to go to the XML view and search for macros and then cycle through them until I find the one that's missing. Then I have to either copy the macro back into that location or manually edit the workflow XML. Not cool man.
Solution: When a macro is missing, the image below at the right should be shown. In the properties window, a file browse tool should allow the user to find the macro.
The join tool currently does not allow case-insensitive joins, but the find/replace tool does. Additionally- even if both sides are identical, the join tool will not join "Sean's house" to "Sean's house" because of the non-letter character in the middle. Finally - if one side is a string(2), and the other is a vString(200) - even if you have a single identical character on both sides you get uncertain outcomes unless you force the type
Please could you consider amending the join tool to include 3 new options or capabilities:
- Case insensitive join
- Allow full Unicode character set in join
- Full match across text types (irrespective of string size) - this would allow a string(2) value to match to a string(100) value as long as the string(100) value only has the same 2 characters in it as the string(2) value
That would remove a load of work from every text-join that's being done on every canvas we do.
Current State: When a macro contains nested macros the onlymethodthat reliably worksto share them is via yxi (which I fondly refer to as my wixies).
Future State: Allow macros published to the gallery be their own tool paletteso that when I or any user connects to the server the macros are there and just work, no import, no visible install just a singleset of tools that work on that server.
One small caveat is that it doesn't support truly relative paths. @PaulN explained in the discussion post that a relative reference here would search in the sample folders.
"Alteryx default behavior is to look for examples under .\Alteryx\Samples\02 One-Tool Examples or Alteryx\Samples\02 One-Tool Examples (or .\Alteryx\Samples\en\02 One-Tool Examples)."
Having said that, trying to reference a macro example in the same folder (using a relative reference) will throw an error given the following situation:
Date Wizard.yxmc XML edits:
<!-- THIS WORKS -->
<File>\\aSERVER\aRootDir\path\to\Alteryx\Macros\Date Wizard\Date Wizard Examples.yxmd</File>
<!-- THIS DOESNT
<File>Date Wizard Examples.yxmd</File>
<File>.\Date Wizard Examples.yxmd</File>
<File>./Date Wizard Examples.yxmd</File>
This shows a link in the Macro description but yields an error (shown below) when it is clicked.
Example Link ShowsError
Once again, this works fine with an absolute file path reference.
Here is ultimately what I am suggesting: Can we add an option to the Interface Designer (that updates the XML) and have it allow relative paths? Allowing relative paths would obviously be essentially to maintaining the macro's ability to be "lift-and-shift" when packaged/moved/uploaded to servers/galleries etc.
I'm assuming the option could look something like this, similar to the "Help" file -only it would show link in the macro description...
Interface Designer Suggestion
In conclusion, this would be very useful in providing links to example workflows for custom macros that may be complex and/or not self-explanatory.
Despite being an Alteryx user for 2 and a 1/2 years this is something I have only recently came across but it does not appear that you are able to use debug mode appropriately with macros.
What I mean is, I have a macro input which drives a series of drop down boxes. In debug mode my drop down boxes will not populate. Now I understand why, Alteryx doesn't know what the input is so it doesn't generate the meta data for the debug mode drop downs.
What I suggest Alteryx do is automatically convert your macro inputs for file browses for the purpose of debug mode (I had to do this myself manually and it was a tedious task, not only to set up but then maintain two separate versions, one essentially an application and one a macro).
Or, by default debug mode uses the macro input data to run through debug mode as.
A seemingly minor task that has popped up several times on my team is the ability to select a subset of columns using an input list. Different people have achieved this in different ways (transpose/join/cross-tab, dynamic rename/select), but it seems like a common enough task to warrant a single-tool solution.
R has a simple way to do this:
# create a vector of the columns we would like to select columns <- c("column_b", "column_d")
# subset based on the column names we defined in our "columns" vector df_subset <- df[columns]
We have built a macro to achieve this (attached), but I would love if there was a second input anchor on the Dynamic Select tool, with list-based select mode as an option in the dropdown.
The macro currently has a minor annoyance, where the user gets a "RecordInfo::CreateRecord" error presented on their palette when they choose the "Keep Columns in List" entry. This error goes away with a run or an F5 refresh, but if anyone has a suggestion for getting rid of this, it would also be appreciated.
This is similar to a prior idea now marked complete "Allow macro metadata to persist until next run". I tried the check box solution and still have the same issue, running V11.
What we NEED is for tools that derive columns like CrossTab to retain metadata from the most recent run and thus pass that metadata downstream for further tools and development.
I have several cross tabs and before V11 I could run the flow once to push metadata downstream, then add or modify tools downstream and the derived fields from the cross tab stayed available in those tools to be recognized and referenced as I add more tools and logic. Now in V11 I am finding if I click on a tool or add a tool downstream the metadata for the derived columns disappears.
I attached pics to illustrate where I have 6 CrossTabs and decided I needed to add a summary downstream. I had to run the flow to get metadata populated which is normal and I added the first summary, then inserted another summary and immediately the derived column metadata was lost in all paths after the crosstabs. so ended up having to re-run the flow 5 more times for each summary tool added. then I had to re-run it 5 more times to adjust column names in selects after downstream joins.
I end up wasting a lot of time having to re-run a sufficient test file to feed all the variety of data necessary to generate all columns between most edits or new tool adds. What used to take ~5 minutes to do now takes ~35
I recall seeing and discussing this issue previously and hoped the check box would resolve but It does not fix the issue.
We see similar issue for tools downstream from other tools where the columns are derived or uncertain until that tool runs, such as, transpose, Joins and Unions. I recall some discussion at user groups and in the community but the only reference I found this morning of seeming relevance is the one I mentioned above.
The performance profiling option on the "runtime" tab is very helpful to identify bottlenecks on a long-running workflow. However this is missing (along with the entire "Runtime" tab) if I change this to a macro.
Given that the only way to build relatively complex dependant chain jobs is to wrap them in dummy batch macros (using a macro like a sub-procedure with flow-of-control on the master-canvas) - most of our work is done in Macros - so it would be helpful to be able to performance profile them during testing.
When you right click on a Macro tool (e.g. Google Analytics) within a workflow, you can choose the version of the tool to use. However, it does not indicate which version of the tool is already in use.
Why is this an issue for me?
I have a workflow with 15 instances of the Google Analytics tool. (I needed to use the API for each month fo GA data and then use a join. I built it this way due to the restriction on the number of records.)
So when I update the Google Analytics tool I have to do it 15 times. I'd like to be sure the update is needed before I start.
Alteryx Support confirm that there is no way to tell which version of the macro is in use.
I'm adding a 'Dynamic Input' tool to a macro that will dynmaically build the connection string based on User inputs. We intend to distribute this macro as a 'Connector' to our main database system.
However, this tool attempts to connect to the database after 'fake' credentials are supplied in the tool, returning error messages that can't be turned off.
In situations like this, I think you'd want the tool to refrain from attempting connections. Can we add a option to turn off the checking of credentials? I assume that others who are building the connection strings at runtime would also appreciate this as well.
As a corollary, for runtime connection strings, having to define a 'fake' connection in the Dynamic Input tool seems redundant, given we have already set the 'Change Entire File Path' option. There are some settings in the data connection window that are nice to be able to set at design time (e.g. caching, uncommitted read, etc.), but the main point of that window to provide the connection string is redundant given that we intend to replace it with the correct string at runtime. Could we make the data connection string optional?
To combine the above points, perhaps if the connection string is left blank, the tool does not attempt to connect to the connection string at runtime.
I frequently make analytic apps for my clients that requires them to enter information or parameters to the workflow via a prompt before running. The user could be entering codes that will affect a certain filter or it could be a prompt to browse to the new source file required to run the workflow. In order to make adjustments to the workflow itself, I need to work in Debug mode so that I can see the data as it passes through each node in the workflow. Once I am done making all of the changes in debug mode and I am satisfied with how it works, I then have to remember each change I made, and copy and paste each tool and its contents over to the workflow that I am debugging. This is a pain because it is like I am fixing the workflow twice. A good solution to this would be allowing the user to apply changes made in debug to the workflow you are debugging, so that there is no duplication of efforts!
It would be great if we users could have the ability, ideally in a simple interface (maybe workflow option) to create .yxi macro installers. This would allow us to create and really simple, quick and straightforward way on installing macros in Alteryx rather than having to copy into certain directories or add through the user settings.
I know we can edit the XML on @AdamR CREW Macro installers etc. but this would make it really simple for single macros.
I'm assume this might already be on the road map, but will be useful to discuss.
Up to version 10.0 I could open pretty much all analytics tools as a macro, to tweak things in R or in the macro workflow to get the results in a way most useful to us.
But apparently with Alteryx 11.0 the newer tools does not have that option, Although we can still access the older versions of those tools and still open them as macro but I don't understand (may be because they have interactive report option) why that is being killed in the newer versions?
Most of the newer versions have new features, like Linear Regression now support elastic net and cross validation etc.. but I still want to be able to go in to them to tweak them.
The behavior of an "Overwrite Sheet (Drop)" configuration is such that it breaks formulas (#REF) that point to the overwritten sheet and named ranges that reference the overwritten sheet. This is a bummer because the only way I've found to overcome the issue is to write a script that re-applies the named range. This works, but it greatly raises the barrier to using this tool and in some corporate environments it won't even be possible.
What would probably be a good alternative behavior is to delete the contents of the sheet, rather than the rows/columns/cells of the sheet. I think both probably have valid use cases but my proposed functionality is going to cause fewer issues and be the more popular behavior for most users. I believe there is a google sheets API call for just this kind of behavior...
In the previous tools the information lab had build for publishing to Tableau server, they had the incremental TDE refresh option available. I would like to see that included in the Publish to Tableau Server Macro. We often just want to add previous day data to a YTD data extract without running the full data set from our Datawarehouse. The full set takes long and a daily increment / add only would take a couple minutes.