Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have a one-record table with the following column:
AppAbbrevs
which is a string that contains the following:
'Field1,Field2,Field3'
When I try MATCH('Field3', ',', AppAbbrevs), it returns 0. It also returns 0 if I surround each value with single quotes.
What am I doing wrong?
A front-end solution could be like:
=SubStringCount( Left( 'Field1,Field2,Field3', Index('Field1,Field2,Field3' , 'Field3')), ',')+1
Orange - Your field value string
Blue - Search string
Pink - Delimiter
May be like this?
MATCH(AppAbbrevs, 'Field3' )
Hi John,
Are you saying that your column has one record, and that record is a string 'Field1,Field2,Field3'?
If so I don't believe the Match() function would work. You should use WildMatch() as that will search through a string.
Match is used to look for a specific string within multiple records, so for example:
Customer is the column
record 1: 'A'
record 2: 'B'
record 3: 'C'
You would use Match to find customer B for example.
Where as you are wanting to grab part of a big string from one record.
For more on the Match() function, look here: match function in qlikview
And for more on the WildMatch() function, look here: wildmatch - script and chart function ‒ Qlik Sense
The function you would require is: WildMatch(AppAbbrevs, '*Field3*')
Hope this helps, and if you are satisfied with the answer please mark it as correct. If you need further assistance I can help.
I want the index of the substring within the larger string. Am I using the wrong function?
Index()?
Hi John, you are looking for this then.
Index(AppAbbrevs, 'Field3')
I tried that, and it gave me the character index, I want the item index in the delimited string. In the example I provided, I want "3".
Can you provide sample data and expected result?
Are you talking about this?
Right(FieldName,1)
I want the INDEX of the substring within the larger delimited string.
In the example I provided, I'm looking for 'Field3', and expecting an index of 3 because 'Field3' is the third delimited item in the string.
Still confusing, May be this?
If(SunStringCount(FieldName, 'Field3'), '3')