SI.XQUERYFILTER
Overview
The SI.XQUERYFILTER function returns a string that can be used as input for the Filter argument in the SI.XQUERY function.
Syntax
=SI.XQUERYFILTER(
ConnectionName,
Object,
Column,
Criteria,
AnotherColumnorCriteria1,
...
)`
Arguments
Argument | Required/Optional | Description |
---|---|---|
| Required | The name of the connection, as specified in the Connection Manager |
| Required | Sage Intacct REST object name. For instance, Please use SI.XEXPANDOBJECTRANGE to explore available objects. |
| Required | Name of the object field you wish to filter |
| Required | A criterion or set of criteria that you want your filtered results to meet. Criteria can be one of the following:
The argument can be a single value, an array of values, or a range of cells. |
AnotherColumnOrCriteria1 | ||
… |
Output
The function returns a string containing a valid filter, ready for use with the SI.XQUERY function.
Example
You need a filter that returns all unposted WIP periods ending in Q1 2026.
First, find the object name. You can use the SI.XEXPANDOBJECTRANGE function to find the name of the WIP period object. It is construction-forecasting/wip-period
.
Then, you can use the SI.XOBJECTDEFINITION function to retrieve all properties available for the object. In this case, you are interested in the periodEndDate
and state
fields.
Providing this information, you can arrive at the following formula:
=SI.XQUERYFILTER(
"Sage",
"construction-forecasting/wip-period",
"periodEndDate",
">= '2026-01-01'",
"periodEndDate",
"<= '2026-03-31'",
"state",
"unposted"
)
When executed, it returns the following filter, ready to use with the SI.XQUERY function:

Below, you can see the filter used with the SI.XQUERY function:
