---
title: "Advanced Search in Wheelhouse"
description: "This article explains the basic and advanced search functionality of Wheelhouse for Administrators. Search Tips:. Performing a Search Type your search term and press the Enter key or click the magnif…"
url: "https://support.wheelhousemfg.com/article/82cahqvyh4-searching"
category: "Advanced Search Techniques"
updated_at: "2026-07-27T14:29:31Z"
---

# Advanced Search in Wheelhouse

This article explains the basic and advanced search functionality of Wheelhouse for Administrators.

### **Search Tips:**

1. **Performing a Search**  
   Type your search term and press the Enter key or click the magnifying glass icon.
   
   ![Callouts to type term and search](https://files.helpdocs.io/u2psp4t8yl/articles/82cahqvyh4/1622134105123/image.png)
2. **Using Stored Searches in Data Administration Screens**

> Find stored searches in the drop down menu of the search bar

> Stored searches can be saved for later re-use by administrators

![arrow pointing at dropdown](https://files.helpdocs.io/u2psp4t8yl/articles/82cahqvyh4/1622134176536/image.png)

Stored Searches may or may not have been created by your administrator. If they have been created, they will be visible in the drop-down menu next to the search bar.

1. **Searches are not case-sensitive.**

> For example:  
> The word `Bolt` may be found by searching `BOLT`, `bolt`, or `boLt`

1. **Any full-text search terms have an implied** **`and`** **between them.**

> For example:  
> Searching `Oval Headrest` is the same as searching `Oval and Headrest`.

1. **Single Quotes** `'` **should be added around search terms that have spaces (multi-word searches) or punctuation in them, such as dashes, periods, etcetra, to yeild better results.**

> For example:  
> search `'water bottle'` to find an item called Water Bottle Holder  
> search `'3005-6015-12'` to find all items with the number in the part number or other fields

1. **Entering only one part of the text you're looking for will show more results.**

> For example:  
> item number `3005-6015-12` may be found by searching for `6015` or `'3005-6015-12'`  
> item named `Oval Headrest` may be found by searching: `oval`  
> Sale number `S-12345` may be found by searching `2345` or `'S-12345'`

1. **For more complex (and faster) searches, specify the column property name or database column name that should be searched.**  
   Find the column property name or database column name by **hovering over the column name**.
   
   ![](https://files.helpdocs.io/u2psp4t8yl/articles/82cahqvyh4/1622134413683/image.png)

> For example:  
> To find an item with `Storage` in the display name, you can search: `displayname~storage` or `display_name~storage`  
> To find a part number `3101-0002`, you can search: `partnumber ~ '3101-0002'` or `part_number~'3101-0002'`

1. **Search Operators**  
   Search operators work best when the column property name or database column name is specified. See the previous help section.

Search Operator

Example

Result

~

name~desk

Name contains `desk`: All items with `desk` anywhere in the `name` field.

=

name=desk

Name exactly `desk`: All items with only `desk` in the `name` field.

&lt;&gt;

name&lt;&gt;desk

Name not equal to `desk`: All items not named exactly `desk`. (Only excludes exact matches)

&gt;, &gt;=,

&lt;, &lt;=

price&lt;=35

datedue='2025-11-14'

datedue&lt;=now()

All items with a `price` less than or equal to `35`.

`DateDue` equal to `2025-11-14`.

`DateDue` before current day. (*see Advanced Search Techniques for date search functions*)

AND

name~desk AND name~chair

All records with **both** `desk` and `chair` in the `name` field.

OR

name~desk OR name~chair

All records that contain **either** `desk` or `chair` in the `name` field.

NOT

name~desk NOT name~chair

All records that contain `desk` **but not** `chair` in the `name` field.

COUNT

COUNT(ItemComponentList)=1

All records that have exactly 1 entry in their ItemComponentList.

% *(percent)*

name=%desk%

name=desk%

name=%desk

*Wildcard: Represents any number of characters. Note that single quotes are required for search terms like this.*

`name='desk%'` returns all records with `desk` **at the beginning** of the `name` field.

`name='%desk%'` returns all records with `desk` **anywhere** in the name field. This is the same as `name~'desk'`

_ *(underscore)*

name=d\_sk

Wildcard: Represents exactly 1 character

All records with 2 **characters between** `d` and `k`. For example, both items named **d**es**k** & **d**ar**k** would be returned.

### **Advanced Search Techniques**

1. **Searching fields in related tables using dot syntax**

If an **Item** list contains a field that is linked to **ItemType** which has a field called **SaleLevel**. Since **SaleLevel** is a field in the **ItemType** table, it would not normally be accessible from the **Items** table. However, Wheelhouse's understanding of the database makes a search on this field in a related table possible!

> Example 1: When searching **item list**, we need to find out which Items have a certain **ItemType** in which **SaleLevel** is 'Saleable'. *On the item list, search:* `ItemType.SaleLevel = Saleable`

> Example 2: When searching the **customers list**, we need to find **customers** whose **pricing tier** has a **primary discount percent** greater than or equal to 40%. On the customer list, search: `PricingTier.PrimaryDiscountPct >= 40`

1. **Using Search Functions with Dates**  
   Because dates are such an integral part of searching, and because most of our searches are interested in 'relative' dates, several functions are provided to deal with date and time offsets.

Navigate to the respective page depending on the search function. For example, navigate to **Order Management** -&gt; **Invoices** to test the advanced search techniques below.

Function

Arguments

Purpose

Usage & Example

`now([daysOffset])`

Takes 0-1 arguments.

daysOffset may be a decimal.

Returns the exact date and time of now. If supplied a signed or unsigned number, will add that number of days to the returned date.

now() returns the exact date/time of now, now(-0.5) returns the date/time exactly 12 hours ago

`dateinvoiced<now()` returns records with date invoiced before today's date.

`day([daysOffset])`

Takes 0-1 arguments.

daysOffset may be a decimal.

Returns start of day, that is 12:00 AM of the current day. If supplied a signed or unsigned number, will add that number of days to the returned date.

day() returns the start of today, day(-2) returns the start of day exactly two days previous to the start of today.

`datesold=Day(-1)`

returns records from yesterday.

`week([weeksOffset])`

Takes 0-1 arguments.

daysOffset may be a decimal.

Returns start of week, that is 12:00 AM on Sunday of the current week. If supplied a signed or unsigned number, will add/subtract that number of weeks to the returned date.

week() returns the start of this week, week(-1) returns the start of last week.

`dateCreated>=week()` returns records from this week.

`DateCreated >= week(-1) and DateCreated < week()` returns records from last week

`month([+/-monthOffset) OR month], [+/-yearOffset OR year])`

Takes 0, 1,or 2 arguments.

requires integers

Returns start of the month; that is the first day of this month, 12:00 AM. If supplied a SIGNED number as the first argument, will add/subtract that number of months. If supplied an unsigned number as the first argument, will use that month number. If supplied a SIGNED number for the second argument, will add/subtract that number of years. If supplied an unsigned number for the second argument, will use that year.

month() returns the 1st day of this month this year, month(-1) returns the first day of the previous month of this year, month(3) returns the first of March of this year, month(4,2015) returns the first of April, 2015, month(1,-1) returns the first of January last year.

`DateCreated >= month(4, -1) and DateCreated < month(7, -1)` returns records from Q2 of last year.

`DateCreated >= month(3, 2020) and DateCreated < month(4, 2020)` returns records for March of 2020.

`year([+/- yearsOffset OR year])`

Takes 0-1 arguments.

requires integers

Returns start of the year, that is Jan 1, 12:00 AM of the current year. If supplied a SIGNED number, will add/subtract that number of years. If passed an unsigned number, will return Jan 1 of the supplied year. Fractional numbers are not allowed in this function.

year() returns Jan 1 of this year, year(-1) returns Jan 1 of last year, year(2020) returns Jan 1 of 2020, year(+1) returns Jan 1 of next year.

`DateCreated >= year() and DateCreated < month(4)` returns records for Q1 of the current year.
