Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
8 replies
Subscribers
10 subscribers
Views
4359 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Data and Records
Search behaviour within Records for integers
chrism967
over 8 years ago
Hi Guys,
Is it correct that if a field referenced in the title of a record listview is of type integer then pattern match on search doesnt work?
eg if there is a field which contains 123456 then any partial searches of 123 or 45 etc will not work but a full search of 123456 works.
Before I go to the effort of changing/ casting the fields in question (as the datasets are large so i'd rather not have any unnecessary overhead), is that out of the box behaviour or a bug that we're aware of?
Cheers,
Chris
OriginalPostID-236249
Discussion posts and replies are publicly visible
0
chrism967
over 8 years ago
(nothing jumped out at me in the documentation but i might being going blind!)
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
sanjays0006
over 8 years ago
Even we are facing the same issue. I tried changing it to the Grid layout but still the partial search does not work
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
chrism967
over 8 years ago
Is your record process backed or data backed? We're just going to change the CDT and cast it in the view..
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Jamie Loizou
Appian Employee
over 8 years ago
Adjustments in the grid display won't have any affect since the user facets re-query the data from the source.
I suggest casting from integer to text in the record's underlying DB view. You can then use "includes" as the operator in the a!queryFilter defining the User Filter, assuming you are either (1) using an expression-backed entity querying the view or (2) using an entity-backed entity on v 16.1+ .
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
sanjays0006
over 8 years ago
Our record is Entity backed.
@Jamie,
Is there anyway that we can make this work without changing the data type?
I am not sure whether we can change the data type for this requirement alone.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Jamie Loizou
Appian Employee
over 8 years ago
Sanjay - to be clear, you are trying to essentially search "includes" on number, right? E.g., get 12367 as a result of searching "123" or "36"?
I am not aware of any way to do this aside from adjusting the data source--the DB view in your case--because the queryFilter can't query against a manipulated value. The view is the most appropriate place to make such a data manipulation, unless the table should be changed based on your use case for populating the field.
If the view is being referenced by other objects (which isn't recommended; generally, each record list should have its own dedicated DB view), then you could ADD a column instead of REPLACE the existing column. Either way, the definition of the column would essentially be the following, for Oracle:
cast NUMBER_FIELD as VARCHAR2(255)
I recommend you investigate whether the DB index on this column (hoping that one exists) would still be used by the DB's cost-based optimization (CBO). If the CBO won't use the index because of the type-cast, then you may want to explore other options such as changing that field's data type in the underlying table.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
chrism967
over 8 years ago
Sanjay - to echo Jamie, this is the action we took - as he DB view was dedicated to the record listview this is literally a 10 minute update.
Note - even if you don't have a dedicated CDT for the listview, its not huge effort to create a copy of one now..
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
sanjays0006
over 8 years ago
Chris, I have done the changes by using a different CDT(same structure and different datatype as we are retrieving the the data from multiple tables and writing view is not an option for me) just for the records and retrieve the data. It worked.
I was just curious to know if there is any other way to make this work without changing the datatype or creating the new CDT for records.
I tried using conversion functions in the list view but of no luck.
Thanks Jamie and Chris for your clarification.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel