Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Production Management

Use exact filtering on fields with string data type

Use exact filtering on fields with string data type

  • Last UpdatedMay 13, 2025
  • 6 minute read

When you search on fields with a String data type. The filtering engine is designed to return exact results. This includes any extra characters such as the space character or carriage returns.

Therefore, it is important to carefully design your search filters to get intended results. You get return hits only for the field data that exactly satisfies the search filter.

Example: Exact filtering

For example, a search filter of blue rock produces hits only on field contents that contain exactly blue-space character-rock. Any other fields that contain either blue or rock are not included in the filter results.

In the following data example, each field contains the words blue and rock. However, only rows 3 and 6 return results because these are the only exact matches.

Row

Field data

1

blue rock blue

2

rock rock blue

3

blue rock

4

blue blue rock

5

rock blue

6

blue rock

Special operators

There are some special characters and operators that you can use to help define exact filters.

Character

Description

Comment

*

Asterisk

Denotes any number of wild characters.

?

Question Mark

Denotes one single wild character.

AND

AND operator

Returns a value if both terms are found.

OR

OR operator

Returns a value of one of the terms is found.

Sample data set

Let's set up a sample data set and examine the results we might get from different search filters that we can perform on a data set. Here is our sample data set.

A data grid showing a sample result dataset based on the query criteria used.

Using the ? character 

First, let's look at the Shift Column and how to use the ? character.

A sample grid dataset highlighing the Shift column, which includes 5 rows.

Filter string = Shift

Let's see what happens if we put in the search string Shift. Although each field contains the word Shift, no rows are returned because no field contains this exact string. Therefore, there is no exact hit.

Filter string: Shift

A sample grid dataset highlighing the Shift column, which includes 5 rows.

Result: Rows 0

A data grid showing a zero data result as the filter used is "Shift" which don't have an exact match from the list of records in the previously highlighted records.

Filter string = Shift?

The ? wild character can be substituted for any single character. If we use a ? directly after the word Shift, such as Shift? there are still no results because there is no exact hit.

Filter string: Shift?

A sample grid dataset highlighing the Shift column, which includes 5 rows.

Result: Rows 0

A data grid showing a zero data result as the filter used is "Shift" which don't have an exact match from the list of records in the previously highlighted records.

Filter string = Shift ?

If we put a space character in between the word Shift and the ? character, however, we get a full set of results because this matches the field data exactly. We have the word shift and then a space character and then any single character. This gives us a collection of exact hits.

Filter string: Shift ?

A sample grid dataset highlighing the Shift column, which includes 5 rows.

Result: Rows 1, 2, 3, 4, 5

A data grid showing a sample result dataset based on the query criteria used.

Using the * character

Let's look at the column, String Plain Text 1 row. As the name suggests, the field is String data type with StringType property set to Plain Type and the VisibleRow property set to 1.

A data grid showing the highlighted String Plain Text 1 row column, which includes 3 rows that contains yellow as value, only one data has the exact term yellow and the other two have other strings.

Filter string = yellow

Three of these fields in this column contain the word yellow. However, if we enter the filter string yellow the only row returned is row 5, because row 5 is the only row that contains exactly the string "yellow".

Filter string: yellow

A data grid showing the highlighted String Plain Text 1 row column, which includes 3 rows that contains yellow as value, only one data has the exact term yellow and the other two have other strings.

Result: Row 5

The data grid showing 1 row as the query result for yellow as it used the string "yellow" as filter criteria.

Filter string =yellow*

Let's use our * wild character. The * wild character returns any number of characters.

If we enter the filter string yellow*, rows 2 and 5 are returned. These rows are the only rows that have the string yellow followed by any other characters. Note that row 1 is not returned because row 1 has characters before the string yellow, but not after.

Filter string: yellow*

A data grid showing the highlighted String Plain Text 1 row column, which includes 3 rows that contains yellow as value, only one data has the exact term yellow and the other two have other strings.

Result: Rows 2 and 5

A data grid showing two query results as it used the filter "yellow*".

Filter string =*yellow*

So, how can we return the rows that contain the string yellow, regardless of whether other data appears before or after? If we enter the filter string *yellow* we get each row that has yellow in it with any number of characters before or after the word yellow.

Filter string: *yellow*

A data grid showing the highlighted String Plain Text 1 row column, which includes 3 rows that contains yellow as value, only one data has the exact term yellow and the other two have other strings.

Result: Rows 1, 2, and 5

A data grid showing 3 query results using the "*yellow*" as filter criteria.

Multi-line results, AND, OR operators

Let's look at the last column, String Plain Text 3 rows. Although this field is also in Plain Text, it is multi-line which means the data may contain carriage returns. A carriage return is regarded differently than a space character.

Notice how in rows 1 and 5, the word is followed by a trailing ellipses. The field contains data that is on different lines. This data is not visible because it is not in the first line on the field. If we open up one of these fields we can see that row 1, the field String Plain Text 3 rows contains red apple on two separate rows. Row 5 contains car red on two separate rows.

Embedded Image (65% Scaling) (LIVE)

Filter string = red apple

If we put in the basic filter red apple, we might expect to return a result of row 1. However this filter returns no results because red and apple are on different lines. There is a carriage return character between the two words, instead of a space character.

Filter string: red apple

Embedded Image (65% Scaling) (LIVE)

Result: 0

A data grid showing a zero data result as the filter used is "Shift" which don't have an exact match from the list of records in the previously highlighted records.

Filter string = *red*car*

Let's say we want to return every item with red and car. We could devise a filter string that includes anything before red, red, anything after red, car, and anything after car. However, the result is that we get red and car only in this order. If they appear in reverse order, it is not included in the results.

Filter string: *red*car*

Embedded Image (65% Scaling) (LIVE)

Result: Row 2

Embedded Image (65% Scaling) (LIVE)

Filter string = *red* and *car*

If we want to return the items with red and car in any order, a good way to do that is to put wildcard stars around each word and use the AND operator.

Filter string: *red* and *car*

Embedded Image (65% Scaling) (LIVE)

Result: Row 2 and 5

A data grid showing two query results as it used the filter "yellow*".

Filter string = *red* or *car*

This time we want items with either red or car, but we do not require both. Put wildcard stars can be put around each word and use the OR operator.

Filter string: *red* or *car*

Embedded Image (65% Scaling) (LIVE)

Result: Rows 1, 2 and 5

A data grid showing 3 query results using the "*yellow*" as filter criteria.

In This Topic
TitleResults for “How to create a CRG?”Also Available in