Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
edp_happycasast
Contributor
Contributor

Search between alphanumeric values

Hi,

i have a problem in searching data between two values  from two different input searchboxes (vCodArtMin and vCodArtMax).

The action associated with the button is the following one:

='>=$(=vCodArtMin)<=$(=vCodArtMax)'

If the input values are numerics it works perfectly, but if one of them is alphanumeric it doesn't work anymore, because the search returns only numeric values...

The fact is that the SKU of our products is alphanumeric so, for example, if we want to search values between the sku 918300 and 918426, we expect to have

918300

918300A

918300B

918301

918301A

918301B

918301C

....

and so on... but the result is not what we expected because it returns only the numeric values.

There's a way to solve this?

1 Solution

Accepted Solutions
marcus_sommer

You could try it with a string-operator like precedes or follows like in this screenshot:

Another way could be to apply your search on an additionally field which is linked to your origin field but cleaned from the alphanumeric chars.

Also possible will be to use a dual-field for it, maybe with something like this (if there are multiple non-numerical chars possible it needs a bit more complex logic to ensure that each string-representation has also a unique numeric value but the general approach should work):

dual(SKU, rangesum(keepchar(SKU, '0123456789'), ord(purgechar(SKU, '0123456789')) / 1000))

- Marcus

View solution in original post

2 Replies
marcus_sommer

You could try it with a string-operator like precedes or follows like in this screenshot:

Another way could be to apply your search on an additionally field which is linked to your origin field but cleaned from the alphanumeric chars.

Also possible will be to use a dual-field for it, maybe with something like this (if there are multiple non-numerical chars possible it needs a bit more complex logic to ensure that each string-representation has also a unique numeric value but the general approach should work):

dual(SKU, rangesum(keepchar(SKU, '0123456789'), ord(purgechar(SKU, '0123456789')) / 1000))

- Marcus

edp_happycasast
Contributor
Contributor
Author

It works!

Thank you very much Marcus