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.
The expression editor in the RegEx tool is only a single line, which makes it really hard to edit long regular expressions. See attached photo comparing the expression editor in the RegEx tool compared to the formula tool for the same expression. Please make the RegEx editor box either wrap to multiple lines, have a pop-out expression editor, or something so we can see long expressions.
After using the Text to Columns tool, I generally find myself using a Select tool to get rid of the original field that I split up. Could an option be added in the config to automatically delete this field once it is split to columns?
I've been dealing with JSON since day one, and to be honest it isn't the best experience I've had.
Converting a hierarchical schema into a tabular one is't a straight forward process, but doing that everyday the old way is time and processing consuming.
What I'm proposing is a tool that can read JSON as input, then display a structural skeleton for the user, or the user can provide such skeleton for the tool, say let's say we have the following input:
now to parse this into a table of menuitems we need to use:
JSON Parse: convert JSON into one long key:value table
TextToColumns: split key into multiple columns
Filter: make sure we only get one level from the tree
CrossTab: Convert it back into a column based key values.
All of this will give us the most primitive table we can have as:
and now if we want to have the parent menu id along side with the menuitems, we will do that again as:
Filter: for parent values only
CrossTab: for parent values into a table
Join: to join Parents with Sub items and add the Parent.Id
Now all of this is done with Concatenating of child items, as cross tab will allow us to only do Concat/First/Last for items with the same grouping values.
And now if we want to process children, count them, or extract their data into another table, we have to add more Filters, more CrossTab and more Joining to get parent IDs for future linking.
So what's I'm proposing?
I'm thinking of a Tool with an interface that give me the ability to choose:
Target Branch: which is the main table to be extracted from the branches, in this case it would be menu->popup->menuitem.
Parent Values: what values to be appended from parents of the previous table, just like menu->Id and others if exist.
Children Data types: selecting the proper and expected data type for children instead of using strings or the existing different columns way.
Children Arrays Process: what to do with children branches? either stopping their process and return them as is (Stringify), exclude or do other process like count.
the tool may extract the structure or let the user input such config as the following:
Or Input the Structure as a YAML formatted config or any other way.
This will allow the user to have a quick native tool that does what he wants as it should, and user can use it as much as he want for children and nested values. you just Stringify and repeat and only parse what you need every time.
I hope you consider this for me to replace tens of macros and tools into single tools such so.
@AlexKo did an excellent article on RegEx, and Mark @MarqueeCrew Frisch has helped me out of many pickles with Regex - and one of the things that I've discussed with a few folk on the community is that Regex is super-powerful ( @Ken_Black made this same comment) and can do way more than we initially understand.
The problem is not one of the power of the tool, but rather the onramp to using it (it's painful to do/experiment/run/try etc, it doesn't give you any visual guides or hints when you've got it right or wrong, etc)
My method is to hop straight on to http://regex101, paste in sample text, and figure out the right RegEx in their AWESOME UI which really make this into a 5 minute job, and makes me feel like I've scored at least one victory today (it is so easy, you actually feel more powerful and competent).
Could we bring some of this great User Interaction design into the RegEx tool? I honestly believe that if the RegEx tool was as easy and approachable as RegEx101.com (or why not go one better than them), we'd see an explosion in usage and creativity.
I'd like to see the DateTimeLastOfMonth and DateTimeFirstOfMonth functions be more flexible then just getting the first or last date of the current month. It would be great if you could point to a date field and have it give the first or last date of that month. i.e DateTimeLastOfMonth([randomdate]) and if the [randomdate] = December 3rd, 1981, the result would bring back 1981-12-31
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.
The DateTime tool is a great way to convert various string arrangements into a Date/Time field type. However, this tool has two simple, but annoying, shortcomings :
Convert Multiple Fields: Each DateTime tool only lets you convert one field. Many Alteryx tools (MultiField, Auto Field, etc.) allow you to choose what field(s) are affected by the tool. If I have a database with a large number of string fields all with the same format (such as MM/DD/YYYY), I should be able to use one DateTime tool to convert them all!
Overwrite Existing Field: The DateTime tool always creates a new field that contains your converted date/time. I ALWAYS have to delete the original string field that was converted and rename the newly created date/time field to match the original string field's name. A simple checkbox (like the "output imputed values as a separate field" checkbox in the Imputation tool) could give the flexibility of choosing to have a separate field (like how it is now) or overwrite the string field with the converted date/time field (keeping the name the same).
Alteryx is overall an amazing data blending software. I recognize that both of these shortcomings can be worked around with combinations of other Alteryx tools (or LOTS of DateTime tools), but the simplicity of these missing features demonstrates to me that this data blending tool is not sufficiently developed. These enhancements can greatly improve the efficiency of date handling in Alteryx.
STAR this post if you dislike the inflexibility of the DateTime tool! Thank you!
Quick and (hopefully) simple one here. Many times when I use the Text To Columns tool, there is still leading whitespace from comma separated lists with spaces. It would save from the minor inconvenience of putting a Data Cleansing tool after each of these tools to include an Advanced Option to trim whitespace from the results. I tried some workarounds using the empty fields and including spaces in the delimiters box, but this results in unwanted behavior.
For the split to rows function on text to columns, can we have an option in the configuration to warn/error on too many records being generated just like the append fields tool but replace the words appends with splits?
I love the new Custom Format option with the DateTime tool in Alteryx 11.0, this makes working with dates SO MUCH easier... BUT it would be great if you could update an existing field rather than having to create a new column (e.g. DateTime_Out) and then use a select to put this back to the original Date field.
In working with dates in strings, we have an option to use the DateTime tool to convert from string to DateTime, or to use a formula with DateTimeParse. The DateTime tool is limited in the number of formats possible - and even if you edit the XML directly, you often can't get exactly the format that you are looking for (e.g. 01-sep-1975 - dd/mmm/yyyy) because it's not in the predefined list of "Format of Input String".
The DateTimeParse is similarly painful because it requires you to go and look up a set of arcane %b or %y characters on the Alteryx Help screen.
Would it be possible to change the treatment of dates so that: - DateTime tool can take any format that you need - and includes a simple format builder tool so that people don't need to remember the codes - The DateTimeParse function also uses the same format codes as the DateTime tool, and also includes a simple formula/format builder so that people don't need to remember the codes. - When you point a DateTime tool to a column in a data-stream - it can read the data to determine the best format to suggest - Finally - if you could profile the data, and clean it up visually (like the new release of Tableau; or like Cognos) where you can see the values on screen and apply a transformation to them in-situ, which then translates into Alteryx Formulas - it would be even more useful and rapid.
Cleaning up date handling would speed up date processing tremendously.
I suppose I could just bookmark this page, but that wouldn't help others. I frequently forget (I'm getting old) the format strings while creating custom datetime formulas. Is there a quick way to get to these format strings when in the context of creating a datetimeparse/datetimeformat formula?
A problem I'm currently trying to solve and feel like I'm spending way too much time on it..
I have a data set which has some data in it from multiple languages, and I only want English values. I was able to get rid of the words with non English letters with a little regular expression and filtering. However, there's some words that do contain all English letters but aren't English. What I'm trying to do is bring in an English dictionary to compare words and see which rows have non English words according to the dictionary. However, this is proving to be a bit harder than I thought. I think I can do it, but it feels like this should be much simpler than it is.
It would be great to have a tool that would run a "spell check" on fields (almost all dictionaries for all languages are available free online). This could also be useful also just for cleaning up open text types of data where people type stuff in quickly and don't re-read it! 🙂
Hi, I've noted that there is not url-decode function in Alteryx. I guess I'm the first one to need that, so I'm posting this idea here. I think it would not be a big deal to do so if there's a url-encode function.