Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Listbox in an APP

slinder
6 - Meteoroid
HI All,

I am trying to configure a filter from a set of choices chosen from a list box in an analytical app.  I cannot figure out how to get the output from the list box to conform with the input that the filter requires.  Can anyone point me to an example?

Thanks,
4 REPLIES 4
KenB
6 - Meteoroid
From this article: https://alteryx-community.force.com/Getting-Started/Tips-and-Tricks/Tips-and-Tricks-2013-v1
In the Tips and Tricks pdf there is this:
Analytic App – Update an IN Clause from Tree Selection on pg 72.  It is for a Tree selection, but it may help.

Ken
slinder
6 - Meteoroid
Thanks for your help Ken.
ChadM
Alteryx Alumni (Retired)

Hi Ken!

Great question.  The List Box Tool will separate out each selection by a newline character, which can be parsed using Regex.  Check out the sample under File -> Open Sample -> Analytic Apps -> Tree Custom XML.  If you go into the Action Tool, you'll see it uses a Formula to create a new IN() clause in the filter.  This specifically uses the Regex_Replace function to replace any instance of a newline character ( ) with a comma.

It is important to note that with the Filter Tool, it is a good idea to create a completely new expression that replaces your entire old existing expression.  In the app mentioned, the entire expression is as follows:

IF 
length([CustomXMLTree]) == 1 then '1 == 1' 
ELSE 
'[Key] in ("' + REGEX_Replace([CustomXMLTree], ' ', '","') + '")' + 
' or left([Key],2) in ("' + REGEX_Replace([CustomXMLTree], ' ', '","') + '")'
ENDIF

In plain english, this is saying that if the selection on the tree has a length of 1 (in this case the entire USA selection), make my Filter Tool expression 1==1, which will pass through all records.  Otherwise, if any other individual selection is made (let's use Alabama, key '01' and Alaska, key '02' as an example), use the expression [Key] in ("01","02") or left([Key],2) in ("01","02")

Give it a shot, and if you have any issues let us know at support@alteryx.com.

Thank you!

Chad
slinder
6 - Meteoroid
Thanks foir helping Chad.  I believe the format of list box output is a string of a single line with one set of quote marks.  Something like "value1=false, value2=True, Value3=False".

Labels