The ability to filter data is one of the things that makes portalBase really powerful. Searching and filtering is quite easy but many users tend to stick with basic filters. This release of version 2.2 adds some more options so now’s a good time to write a quick tutorial by example. For those who want to learn, it couldn’t be simpler, read on!

Basic filtering

To find text starting with a word or letters, just type. e.g. is searching an address book:

Type john to find John Smith, John Jones and John Barleycorn

Note filtering is case insensitive

To find text anywhere in a field, use the star character as a ‘wildcard’:

Type *smith to find John Smith, Jane Smith and Tobermory Smith

Some more options

help1If you forget these options, don’t worry they’re in the help built into portalBase. Move your mouse over the question mark at the left of the filter boxes to get a quick reminder.

All of the syntax below works any type of data, be it text, numeric or date. Some examples for numbers:

>400 returns all those greater than or equal to 400

< 600 returns all those less than 600

>400 and <600 returns all those in the range

In a text field, e.g. a list of company names,

*Ltd or *Limited will return all limited companies

!google will return all companies that are NOT Google, or at least don’t start with the word Google

!google and !yahoo will return everything except those two companies

? will return all blank entries, i.e. where the company name isn’t filled in at all

Conversly, !? (‘not blank’) will return all those that are

New: dates and times

Date filtering is a new addition that deserves a special mention because you can filter in lots of ways. Here are just a few examples:

today will find any times that are sometime today

next week any date falling in the next week

two months ago


Jan 5th 2010

<ten years ago anything more than ten years old

>today anything in the future

>01 Jan 2009 and <31 March 2009 dates in the first quarter

*Jan dates in January from any year – useful for comparing year on year


Try your own! If you find any that don’t give the results you expect, please contact

Credits: this work is partly based on the Ruby Chronic library and the Java port by  mDimension Technology