By clicking the "Send a request" button, I give my consent to processing of my personal data in accordance with the Federal law of 27.07.2006 No. 152-FZ "On personal data" on the terms and for the purposes specified in the Consent to personal data processing.
This site uses cookies and similar technologies related to personal data to offer you a better browsing experience and analyse traffic. By clicking "I Accept" on this banner, or using this site, you consent to this.
QBE (Query by Example) Approach in LUI Lists
QBE is the most apparent and fast way to set the conditions for searching the required rows in LUI lists. As a result, the user gets the rows corresponding to the text patterns specified in the fields, where the restrictions are imposed. Setting the conditions this way makes them coherent and easy to read and understand by the users. Moreover, once set the conditions can be easily modified and saved with a unique name for easier re-use when needed.
Major Principles
QBE can be used in literally any of LUI lists. To enter QBE mode press F7 and click "Change search conditions" button on the list's toolbar. This clears all the data in the displayed form, and the user can type in any field of the row or rows displayed. The inputted text is interpreted as one or several conditions (predicates) applied to the column where the text was typed. The conditions in the same row are combined by AND. The conditions from different are combined by OR. To apply the set conditions press F8 or click "Run query" button.
Example:
This condition is interpreted as:
Show all contracts signed in 2011 and having numbers containing three zeros as well as contracts with legal entities signed prior to 2011, and in addition, all the contracts for three objects exactly.
This will be translated to the following SQL predicates:
contract_no like '%000%' and contract_date>=to_date('01.01.11','DD.MM.RR')
or contract_date<to_date('01.01.11','DD.MM.RR') and legal_status='ЮЛ'
or n_object=3
Predicate language
Any cell in QBE mode can contain a condition text (predicate), which is specified in one of the following ways:
Template;Title;Predicate;Description
Text (does not contain %, does not start with =);Equal;Col = 'Text';Col — text column
;;Col = Text;Col — numeric column of unspecified format
;;Col = to_date('Text', 'Format');Col — column of date/time format
;;Col = to_number('Text', 'Format');Col — column of numeric format
=Text;Equal;Col = 'Text';Col — text column
;;Col = Text;Col — numeric column of unspecified format
;;Col = to_date('Text', 'Format');Col — column of date/time format
;;Col = to_number('Text', 'Format');Col — column of numeric format
Text does not start with =;Alike;Col like 'Text';Text contains %, Col — text column
;;to_char(Col, 'Format') like 'Text';Text contains %, Col — column of date/time or numeric format
<>Text;Not equal;Col != 'Text';Col — text column
;;Col != Text;Col — numeric column of unspecified format
;;Col != to_date('Text', 'Format');Col — column of date/time format
;;Col != to_number('Text', 'Format');Col — column of numeric format
>Text;Greater;Col > 'Text';Col — text column
;;Col > Text;Col — numeric column of unspecified format
;;Col > to_date('Text', 'Format');Col — column of date/time format
;;Col > to_number('Text', 'Format');Col — column of numeric format
< Text;Less;Col < 'Text';Col — text column
;;Col < Text;Col — numeric column of unspecified format
;;Col < to_date('Text', 'Format');Col — column of date/time formal
;;Col < to_number('Text', 'Format');Col — column of numeric format
>=Text;Greater or equal;Col >= 'Text';Col — text column
;;Col >= Text;Col — numeric column of unspecified format
;;Col >= to_date('Text', 'Format');Col — column of date/time formal
;;Col >= to_number('Text', 'Format');Col — column of numeric format
<=Text;Less of equal;Col <= 'Text';Col — text column
;;Col <= Text;Col — numeric column of unspecified format
;;Col <= to_date('Text', 'Format');Col — column of date/time format
;;Col <= to_number('Text', 'Format');Col — column of numeric format
Text1 >< Text2;Между;Col between 'Text1' and 'Text2';Col — text column
;;Col between Text1 and Text2;Col — numeric column of unspecified format
;;Col between to_date('Text1', 'Format') and to_date('Text2', 'Format');Col — column of date/time format
;;Col between to_number('Text1', 'Format') and to_number('Text2', 'Format');Col — column of numeric format
!Condition;Negation;not Condition;Adds negation to the following condition
Examples of constructing conditions:
Column;Condition;Resulting predicate
agreement №;F0104-46955;contract_no = 'F0104-46955'
Client;ЗАО%;fullname like 'ЗАО%'
Client;=ЗАО%;fullname = 'ЗАО%'
Document;=;doc_type_code is null
Document;<>;doc_type_code is not null
Document;!;not doc_type_code is null
Document;!<>;not doc_type_code is not null
agreement №;==;contract_no = '='
Envelopes;>1;envelope_cnt > 1
Objects;%0;to_char(n_object) like '%0'
Date;>15.12.11;contract_date > to_date('15.12.11', 'DD.MM.RR')
Date;01.12.11><01.01.12;contract_date between to_date('01.12.11', 'DD.MM.RR') and to_date('01.01.12', 'DD.MM.RR')
To enter QBE mode press F7 and click "Change search conditions" button on the toolbar
To apply the set conditions press F8 or click "Run query" button
Saved conditions
All QBE conditions (along with the sorting order) can be saved in users' configurations and easily re-used when choosing a saved configuration from the list of all such configurations. Once the configuration is selected, all previously set QBE conditions are deleted and new conditions are applied. After selecting the configuration, the user can modify QBE conditions and save them replacing the current configuration or as a new one if needed.