The advanced search facility of dbMap/Web is an intuitive and comprehensive query builder, allowing your to filter information you want to see based on the main subject (wells, seismic lines, seismic surveys) and on any subordinate topic relevant to the context (seismic lines linked to seismic surveys, permit areas linked to permits that are, in turn, linked to wells, etc.).
Basic Operation
The advanced search feature can be activated by the “Advanced” button, available on all dbMap/Web search blocks.
The advanced search window has two main areas: the left area allows you to pick your criteria items; picking an item activates the right area, which can then be used to enter, or select, conditions to be met for each of the items.
In the example above, we are looking for wells linked to Basin Areas having an Area Type of “Country”, having cores defined for them and having, for at least one of such cores, a Core Description containing the word “porosity”.
A new criterion can be added to the search in two ways:
by selecting a new criteria item from the left area;
by clicking the small “+” (plus) button inside an already selected criteria item.
Similarly, you can remove criteria by clicking the “-” (minus) button or the “x” button, as seen above. If you click on the “x” button, all criteria entered for a selected subordinate record will be erased.
Generic Criteria
When you select a new item from the left area, a new criteria section is opened on the right panel with the default “Data Exists” predicate, as shown above for “Cores”. This is the most generic predicate available and simply means “give me all records with at least one subordinate record of this type in the database”.
You can specify one of these two generic predicates:
Data Exists, which will select all records having at least one linked subordinate record of the selected type in the database (all wells having at least one core in the example above).
Data does not exist, which will select all records having NO linked subordinate record of the selected type in the database – if we had specified this, we would be seeing all wells having NO cores defined.
Being More Specific
You can enter criteria involving data items linked to the selected subordinate record. There are quite a few conditions you can use for each chosen data item, the actual available conditions being dependent on the type of data item you choose: dates, for instance, don’t offer the same set of possible conditions a number, or a text field, will offer you.
Some conditions are available for any item, no matter whether it’s a date, a number, a text or a discrete list of possible values. They are:
Equals – selects records with the field content equal to a given value.
Does not equal – selects records with the field content different from the given value.
Contains something – selects records having any field content.
Contains nothing – selects records having the field empty (with no content at all).
In addition to these, there are other possible conditions that depend on the item’s data type. The table below presents these. It’s worth pointing out that dbMap/Web will always perform case insensitive matching for texts, that is: it doesn’t matter if you typed the text using lower or upper case letters (or a mix of both); a match will be considered found independently of the actual format of the data stored in the database - “stone”, for instance, will match “stone”, “Stone”, “STONE” or any other possible combination.
If you select an item that is a |
You will have the following additional possible conditions |
Which mean |
Date |
Is before |
Select records with a date that precedes the one you enter. |
Is before or equal to |
Select records with a date that precedes the one you enter or is equal to it. |
|
Is after |
Select records with a date that is past the one you enter. |
|
Is after or equal to |
Select records with a date that is past the one you enter or equal to it. |
|
Is between |
Select records having a date between two values you will have to enter. Both limits are inclusive; so, “is between” 19-JUL-2017 and 21-JUL-2017 means a date equal to 19,20 or 21 of July, 2017. |
|
Number |
Is less than |
Select records with the field value less than a limit you enter. |
Is less than or equal to |
Select records with the field value less than a limit you enter or equal to it. |
|
Is greater than |
Select records with the field value greater than a limit you enter. |
|
Is greater than or equal to |
Select records with the field value greater than a limit you enter or equal to it. |
|
Is between |
Select records with the field value between two values you type. As it happens to dates, both limits are inclusive. |
|
Text |
Contains |
Select records with the field containing a fragment of text you will type in any position. |
Does not contain |
Select records with the field NOT containing a fragment of text entered in any position. |
|
Is in |
Select records with the field being a fragment of a text entered by you. If you enter, for instance, “smoke on the water”, you will retrieve records containing “smoke”, “water”, “on the water” or any other subset of the typed in text. The search is, again, case insensitive. |
|
Is not in |
Select records with the field NOT being a fragment of a text entered by you. If you enter, for instance, “smoke on the water”, you will select records that DON’T contain “smoke”, “water”, “on the water” and any other subset of the typed in text. |
|
Begins with |
Select records having the field beginning with the typed in text. |
|
Ends with |
Select records having the field ending in the typed in text. |
|
Discrete list (lookup) |
One of |
Select records having the field equal to one of the chosen values. dbMap/Web will present a list of possible values for you to mark the ones you want to consider. |
Not one of |
Select records having the field NOT equal to ANY of the chosen values. dbMap/Web will present a list of possible values for you to mark the ones you want to consider. |
Text Field Helpers – the Ellipsis Button
You will notice that most apparently generic text fields will offer you an “ellipsis” button, as shown by the image below.
This button is a helper when you intend to perform an exact match on a field that can contain any text.
If you press it, dbMap/Web will compile a list of existing entries to this field and allow you to select from it. Although this is a very helpful feature, you should keep in mind that assembling such a list can be very machine demanding, depending on the size of your database. So, in a nutshell: this feature is there for you but, please, use it with care.
Some Examples
Wells having True Vertical Depth (TVD) between 800 and 900 metres.
In this case, we select “Wells” itself, pick Max TVD field and use the “is between” condition to filter the range we want.
Wells Located in Australia or Argentina that have Well Support Facility records defined
Here, we use the “one of” condition on the well country field to select the 2 countries and the generic predicate “data exists” on the well support facilities subordinate records. This example also shows how a pick list is offered for you to choose entries.
Final Words
As you might have already noticed, advanced search can only perform “ANDed” filtering, that is: no matter how many conditions you choose to specify, dbMap/Web will retrieve records meeting ALL of them at the same time.
Currently, “ORed” searches are not supported: you cannot filter wells having well support facilities OR cores defined; if you enter these two criteria, dbMap/Web will give you records having well support facilities AND cores.
The “one of” condition may give you some flexibility on this, but you will still be filtering records linked to the “one of” AND to any other conditions you may have chosen.