<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://docs.optrix.com.au/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>ARDI Documentation - aql</title>
        <description></description>
        <link>https://docs.optrix.com.au/</link>
        <lastBuildDate>Wed, 27 May 2026 01:23:33 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://docs.optrix.com.au/_media/wiki:dokuwiki.svg</url>
            <title>ARDI Documentation</title>
            <link>https://docs.optrix.com.au/</link>
        </image>
        <item>
            <title>AQL Reference - Alphabetical</title>
            <link>https://docs.optrix.com.au/aql:aql_reference_-_alphabetical</link>
            <description>AQL Reference - Alphabetical

A
AMacro for ASSET (macro)ALLPOINTSGet all points for a given assetALLPROPSGet all properties available on a given assetAIPOINTSGet a list of contextual points around an assetANDCombines two time lists, returning only common timesAPPENDCombines two lists, one after the other</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Mar 2026 22:10:19 +0000</pubDate>
        </item>
        <item>
            <title>AQL Reference - Type</title>
            <link>https://docs.optrix.com.au/aql:aql_reference_-_by_function</link>
            <description>AQL Reference - Type

Aggregation Functions (Current Values)

AVERAGE 

COUNT 

MAXIMUM 

MEDIAN 

MINIMUM 

STDDEV 


Aggregation Functions (Historical Values)

HAVERAGE 

HCOUNT 

HMAXIMUM 

HMEDIAN 

HMINIMUM 

HSTDDEV 

SMOOTH 

TORATE 

TOTAL 


Asset Functions

ASSET 

RELS 

ALLPROPS 

ALLPOINTS 


Point/Value Functions

POINTS 

VALUES 

UVALUES 

DVALUES 

UNLAG 


Conditional / Loop Functions</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Asset List</title>
            <link>https://docs.optrix.com.au/aql:asset_list</link>
            <description>Asset List

A list of zero or more assets</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Asset Type</title>
            <link>https://docs.optrix.com.au/aql:asset</link>
            <description>Asset Type

An asset contains information about an individual ARDI asset. They are usually found in an asset lists.

When returned from an AQL query, it usually appears as a JSON map containing the following information...
FieldMeaningIDThe internal ID number in ARDI</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Complex Queries</title>
            <link>https://docs.optrix.com.au/aql:complex_queries</link>
            <description>Complex Queries

Sometimes you want to request something a little more complex, or several somethings in one call.

With AQL, you can use the FOR and EACH commands to perform tasks on each item on the stack or each item in a list respectively.

One place this can come in handy is when asking about asset relationships.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Const</title>
            <link>https://docs.optrix.com.au/aql:const</link>
            <description>Const

Const values are usually strings (ie. text) or numbers.

For text values, it&#039;s important to surround them with single-quotes. For example, to pass the word hello, you would use &#039;Hello&#039;.

Internally, the single quotes are removed.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Data Types in AQL</title>
            <link>https://docs.optrix.com.au/aql:data_types</link>
            <description>Data Types in AQL

The following data types exist in AQL...

Asset 

Const 

Function 

Map 

Point 

Property 

Relationship 


List Types

Asset List 

Point List 

Property List 

Relationship List</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Debugging AQL Queries</title>
            <link>https://docs.optrix.com.au/aql:debugging</link>
            <description>Debugging AQL Queries

You can debug AQL queries by going to the AQL Query Editor with the &#039;debug&#039; parameter set to &#039;1&#039;.

For example, if you were working with the default site on your ARDI server at yourardisite, you&#039;d type the address &lt;http://yourardisite/s/default/aql/show?debug=1&gt;.

When you run the query, the debugging output will appear below.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>AQL Example Queries</title>
            <link>https://docs.optrix.com.au/aql:example_queries</link>
            <description>AQL Example Queries

Get A Value from an Asset &amp; Property

&#039;&lt;assetid&gt;&#039; ASSET &#039;&lt;propertyname&gt;&#039; PROPERTY VALUES 


This function returns the value of propertyname for the asset assetid.

----------

Get All of the Properties of an Asset

&#039;&lt;assetid&gt;&#039; ASSET ALLPROPS

This function returns all of the properties that are available for the asset. Note that these are</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ADD</title>
            <link>https://docs.optrix.com.au/aql:fadd</link>
            <description>ADD

Parameters
OrderNameTypeDesc1aconstThe first number2bconstThe second number
Returns

Places a const onto the stack.

Description

This command places the sum of the numbers a and b on the stack.

See Also

DIV 

MULT 

MOD 

SUB</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>AIPOINTS</title>
            <link>https://docs.optrix.com.au/aql:faipoints</link>
            <description>AIPOINTS

Parameters
OrderNameTypeDesc1assetsasset listA list of assets to fetch points for
Returns

Places an point list on the stack.

Description

This function returns a list of all of the points of data that ARDI thinks might be relevant for understanding the behaviour of the specified asset(s).</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ALLPOINTS</title>
            <link>https://docs.optrix.com.au/aql:fallpoints</link>
            <description>ALLPOINTS

There are two variations of this function.

ALLPOINTS (Asset) and 

ALLPOINTS (Property)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ALLPOINTS (Asset)</title>
            <link>https://docs.optrix.com.au/aql:fallpointsa</link>
            <description>ALLPOINTS (Asset)

Parameters
OrderNameTypeDesc1assetsasset listA list of assets to fetch points for
Returns

Places an point list on the stack.

Description

This function returns all valid points for a particular list of assets.

Example


&#039;Bridle #1&#039; ASSET ALLPOINTS</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ALLPOINTS (Property)</title>
            <link>https://docs.optrix.com.au/aql:fallpointsp</link>
            <description>ALLPOINTS (Property)

Parameters
OrderNameTypeDesc1propertiesproperty listA list of properties to fetch points for
Returns

Places an point list on the stack.

Description

This function returns all valid points for a particular list of properties.

Note that this can be a very long list on larger sites.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ALLPROPS</title>
            <link>https://docs.optrix.com.au/aql:fallprops</link>
            <description>ALLPROPS

Parameters
OrderNameTypeDesc1assetsasset listA list of assets to fetch properties for
Returns

Places an property list on the stack.

Description

This function returns all properties present on the assets in the given list of assets

Example


&#039;Prime Oven&#039; ASSET ALLPROPS</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>AND</title>
            <link>https://docs.optrix.com.au/aql:fand</link>
            <description>AND

Parameters
OrderNameTypeDesc1frame_aTime ListThe first set of times1frame_bTime ListThe second set of times
Returns

Places a time list on the stack.

Description

This function calculates the time frames where both frame_a and frame_b where active at the same time.

Example</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>APPEND</title>
            <link>https://docs.optrix.com.au/aql:fappend</link>
            <description>APPEND

Parameters
OrderNameTypeDesc1AAsset List, Property Lists, Relationship List, MapThe first list1BAs aboveThe second list
Returns

Places an item of the same type as passed to the command on the stack.

Description

This function combines two lists of the same type into a new list containing all of the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>APPENDN</title>
            <link>https://docs.optrix.com.au/aql:fappendn</link>
            <description>APPENDN

Parameters
OrderNameTypeDesc1..nListsAsset List, Property Lists, Relationship List, MapThe listsn+1CountConstThe number of items to read
Returns

Places an item of the same type as parameters 1-n onto the stack.

Description

This function combines two or more lists of the same type into a new list containing all of the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ASSET</title>
            <link>https://docs.optrix.com.au/aql:fasset</link>
            <description>ASSET

Parameters
OrderNameTypeDesc1queryConstThe asset name/ID to search for
Returns

Places an asset list on the stack.

Description

This function returns one or more assets that match the query.

Note that unless there&#039;s an exact match, this may return a number of different assets that partially match.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ASSETBYID</title>
            <link>https://docs.optrix.com.au/aql:fassetbyid</link>
            <description>ASSETBYID

Parameters
OrderNameTypeDesc1queryConstThe ID number of the asset to search for
Returns

Places an asset list on the stack.

Description

This function returns a single asset with the internal ID number that matches the query.

If the asset ID doesn&#039;t exist, it will return an empty list.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>AVERAGE</title>
            <link>https://docs.optrix.com.au/aql:favg</link>
            <description>AVERAGE

Parameters
OrderNameTypeDesc1pointspoint listThe list of points to aggregate
Returns

Places a const on the stack.

Description

Returns the average amount taken from each of the points.

See Also

MAXIMUM 

MINIMUM 

MEDIAN</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>CONCAT</title>
            <link>https://docs.optrix.com.au/aql:fconcat</link>
            <description>CONCAT

Parameters
OrderNameTypeDesc1aanyA const or item to place at the start of the string2bConstA const of the text to place at the end of the string
Returns

Places an const on the stack

Description

This function creates a string by combining the two parameters together.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>CONTAINS</title>
            <link>https://docs.optrix.com.au/aql:fcontains</link>
            <description>CONTAINS

Parameters
OrderNameTypeDesc1listanyThe list to search through2itemanyThe item to search for
Returns

Returns a const.

Description

This function returns 1 if item is in the list. Otherwise it returns 0

Note that this function can be simulated with the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>COUNT</title>
            <link>https://docs.optrix.com.au/aql:fcount</link>
            <description>COUNT

Parameters
OrderNameTypeDesc1arrayanyThe multi-valued item (ie. map or array) to be searched
Returns

Places a const on the stack.

Description

This function returns the total number of items in a list or map.

See Also

INDEX
RANGE</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>DIV</title>
            <link>https://docs.optrix.com.au/aql:fdiv</link>
            <description>DIV

Parameters
OrderNameTypeDesc1aconstThe first number2bconstThe second number
Returns

Places a const onto the stack.

Description

This command places the result of a divided by b on the stack.

See Also

ADD 

MULT 

MOD 

SUB</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>DROP</title>
            <link>https://docs.optrix.com.au/aql:fdrop</link>
            <description>DROP

Parameters
OrderNameTypeDesc1haystackpointlistThe point list to remove items from2needlevariesThe item to remove
Returns

This searches the haystack list of points for the needle and removes it.

Description

This function is used to remove results you don&#039;t want from your query. It&#039;s commonly used along-side functions like</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Mar 2026 22:19:28 +0000</pubDate>
        </item>
        <item>
            <title>DUP</title>
            <link>https://docs.optrix.com.au/aql:fdup</link>
            <description>DUP

Parameters
OrderNameTypeDesc1aanyThe stack item to duplicate
Returns

Places an extra copy of the parameter on the stack. Does not consume the original parameter.

Description

This function duplicates the item on top of the stack. It&#039;s most commonly used when you need to use the same stack item as a parameter to consecutive commands.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>DURING</title>
            <link>https://docs.optrix.com.au/aql:fduring</link>
            <description>DURING

Parameters
OrderNameTypeDesc1pointspoint listThe points to be filtered2timestime listThe time frame to filter for
Returns

Places the points list back on the stack.

Description

This function filters the points list so that it now only contains those times that are within the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>DVALUES</title>
            <link>https://docs.optrix.com.au/aql:fdvalue</link>
            <description>DVALUES

Parameters
OrderNameTypeDesc1assetsasset listA list of assets2propertiesproperty listA list of properties
Returns

Places a list of points onto the stack, searching downstream into sub-assets if no match can be found on the assets in the list.

Description

Returns a list of points given both a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>EACH</title>
            <link>https://docs.optrix.com.au/aql:feach</link>
            <description>EACH

Parameters
OrderNameTypeDesc1listanyThe list to iterate through2funcfunctionThe function to execute for every item in the list
Returns

The stacks returned from calling func on each item in the list , followed by a single const with the number of items added.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Feb 2026 02:27:17 +0000</pubDate>
        </item>
        <item>
            <title>EAT</title>
            <link>https://docs.optrix.com.au/aql:feat</link>
            <description>EAT

Parameters
OrderNameTypeDesc
Returns

Consumes (removes) the top item from the stack.

Description

This simply consumes the top item from the stack - nothing else is done to it.

Most frequently used in functions such as EACH, where additional data (such as the number of iterations) is placed onto the stack and may not be wanted.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ENUMFILTER</title>
            <link>https://docs.optrix.com.au/aql:fenumfilter</link>
            <description>ENUMFILTER

Parameters
OrderNameTypeDesc1valueconstThe text string to search for
Returns

Returns a map containing enum information.

Description

This function returns each of the properties and numeric values that have a text value of value.

Calling this function with the parameter</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ENUMVALUES</title>
            <link>https://docs.optrix.com.au/aql:fenumvalues</link>
            <description>ENUMVALUES

Parameters
OrderNameTypeDesc1propertiesproperty listA list of properties to get enumeration values from
Returns

Returns a map containing enum information.

Description

This function returns the standard enumeration map (used to convert numbers into human-readable text) for the given properties.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>EQUAL</title>
            <link>https://docs.optrix.com.au/aql:fequal</link>
            <description>EQUAL

Parameters
OrderNameTypeDesc1listpoint listThe list to search through2valueconstThe value to search for
Returns

Returns a point list.

Description

This function returns only those points that have a value equal to value.

Example

To demonstrate the function, let&#039;s look at a simple example.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>FILTERMAP</title>
            <link>https://docs.optrix.com.au/aql:ffiltermap</link>
            <description>FILTERMAP

Parameters
OrderNameTypeDesc1originalmapThe map to be filtered2filterkeyconstThe name of the map item to be searched for3filtervalueconstThe value of the map item to allow
Returns

Places an map on the stack.

Description

This function filters the map (original</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>FOR</title>
            <link>https://docs.optrix.com.au/aql:ffor</link>
            <description>FOR

Parameters
OrderNameTypeDesc1funcfunctionThe function to execute for every item in the list
Returns

Calls func for every item on the stack, placing all of the results onto the stack.

Description

This command runs the func function for every item that is currently on the stack.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>GET</title>
            <link>https://docs.optrix.com.au/aql:fget</link>
            <description>GET

Parameters
OrderNameTypeDesc1nameconstThe name of the variable to retrieve
Returns

Any item stored with SET.

Description

This command is used to retrieve a stack item that was saved with SET or PUT and place it on top of the stack.

Using GET, SET and PUT can give significant performance improvements, as no repeated, expensive tasks (such as database searches etc.) need to be performed.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>GETHISTORY</title>
            <link>https://docs.optrix.com.au/aql:fgethistory</link>
            <description>GETHISTORY

Parameters
OrderNameTypeDesc1pointspoint listA list of points to get history for2optionsmapA list containing query options
Returns

Places a list of points onto the stack with history for each of the points.

Description

Gets history information for every point in the point list.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>GETTABLE</title>
            <link>https://docs.optrix.com.au/aql:fgettable</link>
            <description>GETTABLE

Parameters
OrderNameTypeDesc1assetasset listOptional A list of asset to get table entries for2optionsmapA list containing query options
Returns

Places a map onto the stack.

Description

Gets a list of tabular data. The exact table is specified in the options</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>GREATER</title>
            <link>https://docs.optrix.com.au/aql:fgreater</link>
            <description>GREATER

Parameters
OrderNameTypeDesc1listpoint listThe list to search through2valueconstThe value to search for
Returns

Returns a point list.

Description

This function returns only those points that have a value greater than (and not equal to) value.

Example

To demonstrate the function, let&#039;s look at a simple example.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HAVERAGE</title>
            <link>https://docs.optrix.com.au/aql:fhaverage</link>
            <description>HAVERAGE

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a point list on the stack.

Description

For every one of the points, the value of the point is set to the average value (ignoring any bad data) in the history for the point.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HCOUNT</title>
            <link>https://docs.optrix.com.au/aql:fhcount</link>
            <description>HCOUNT

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a const on the stack.

Description

Returns the total number of history points contained in the point list.

See Also

HAVERAGE 

HMINIMUM 

HSTDDEV</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HMAXIMUM</title>
            <link>https://docs.optrix.com.au/aql:fhmaximum</link>
            <description>HMAXIMUM

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a point list on the stack.

Description

For every one of the points, the value of the point is set to the maximum value in the history for the point.

The history is removed after this calculation is performed.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HMEDIAN</title>
            <link>https://docs.optrix.com.au/aql:fhmedian</link>
            <description>HMEDIAN

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a point list on the stack.

Description

For every one of the points, the value of the point is set to the median value in the history for the point.

The history is removed after this calculation is performed.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HMINIMUM</title>
            <link>https://docs.optrix.com.au/aql:fhminimum</link>
            <description>HMINIMUM

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a point list on the stack.

Description

For every one of the points, the value of the point is set to the minimum value (ignoring any bad data) in the history for the point.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HOURS</title>
            <link>https://docs.optrix.com.au/aql:fhours</link>
            <description>HOURS

Parameters
OrderNameTypeDesc1timeframesTime ListThe time frames
Returns

Places a const on the stack.

Description

This function calculates the total amount of time represented by a time list, such as those created with the WHEN function.

The time is returned in hours. It may include many decimal points.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>HSTDDEV</title>
            <link>https://docs.optrix.com.au/aql:fhstddev</link>
            <description>HSTDDEV

Parameters
OrderNameTypeDesc1pointspoint listThe list of points with history to aggregate
Returns

Places a point list on the stack.

Description

For every one of the points, the value of the point is set to the standard deviation (ignoring any bad data) in the history for the point.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>IF</title>
            <link>https://docs.optrix.com.au/aql:fif</link>
            <description>IF

Parameters
OrderNameTypeDesc1conditionanyThe condition to determine if the function should be run2truefunctionfunctionThe function to execute if the condition is true3falsefunctionfunctionThe function to execute if the condition is false
Returns

Copies the stack from the call onto the stack.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>INDEX</title>
            <link>https://docs.optrix.com.au/aql:findex</link>
            <description>INDEX

Parameters
OrderNameTypeDesc1indexConstThe index in the list
Returns

Places item number index from the preceding map or list onto the stack.

Description

This function returns a single item from a map or list based on the one-based index number.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>INTERVAL</title>
            <link>https://docs.optrix.com.au/aql:finterval</link>
            <description>INTERVAL

Parameters
OrderNameTypeDesc1intervalconstThe interval (24 Hours)
Returns

Places a time list on the stack.

Description

This function creates a time list with a single entry - the time frame translated from the given text.

This can be text such as &#039;12 minutes&#039;, &#039;5 hours&#039;, &#039;2 days&#039; etc.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ISTYPE</title>
            <link>https://docs.optrix.com.au/aql:fistype</link>
            <description>ISTYPE

Parameters
OrderNameTypeDesc1typesasset listThe types of asset to find
or
OrderNameTypeDesc1assetsasset listThe existing list of assets2typesasset listThe types to filter for
Returns

Places an asset list on the stack.

Description

If called with two asset lists, it searches for any assets in the first list that have a type found in the second list.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>LAG</title>
            <link>https://docs.optrix.com.au/aql:flag</link>
            <description>LAG

Parameters
OrderNameTypeDesc1amapA map containing parameters for GETHISTORY 2bConstA number of seconds to &#039;bump&#039; the requested range
Returns

Places an updated version of the map on the stack

Description

This function is used to adjust the times in the parameters to a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>LESS</title>
            <link>https://docs.optrix.com.au/aql:fless</link>
            <description>LESS

Parameters
OrderNameTypeDesc1listpoint listThe list to search through2valueconstThe value to search for
Returns

Returns a point list.

Description

This function returns only those points that have a value less than (and not equal to) value.

Example

To demonstrate the function, let&#039;s look at a simple example.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MAPFILTER</title>
            <link>https://docs.optrix.com.au/aql:fmapfilter</link>
            <description>MAPFILTER

Filters a map for specific items.

There are two variants of this function that work differently

Parameters
OrderNameTypeDesc1originalmapThe map to be filtered2filterkeyconstThe name of the map item to be searched for3filtervalueconstThe value of the map item to allow</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MAPSET</title>
            <link>https://docs.optrix.com.au/aql:fmapset</link>
            <description>MAPSET

Sets a key/value pair on a map.

Parameters
OrderNameTypeDesc1mapmapThe map to be modified2keyconstThe name of the key to set3valueconstThe value to set
Returns

Places an map on the stack.

Description

This function modifies map to include a new key-value pair.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MAPTOPROPLIST</title>
            <link>https://docs.optrix.com.au/aql:fmaptoproplist</link>
            <description>MAPTOPROPLIST

Parameters
OrderNameTypeDesc1valuemapThe map to work with2keynameconstThe map key to extract the property ID from
Returns

Returns a property list.

Description

This function creates a property list from a map.

It does so by extracting the property ID from the given key. This only works with</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MAXIMUM</title>
            <link>https://docs.optrix.com.au/aql:fmaximum</link>
            <description>MAXIMUM

Parameters
OrderNameTypeDesc1pointspoint listThe list of points to aggregate
Returns

Places a Const on the stack.

Description

Searches the points list for the maximum current value and returns that maximum as a constant.

If you want to get the maximum of the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MEDIA</title>
            <link>https://docs.optrix.com.au/aql:fmedia</link>
            <description>MEDIA

Parameters
OrderNameTypeDesc1assetsasset listA list of assets to fetch media for
Returns

Places an map on the stack.

Description

This function returns a map of media items from the asset(s) in the list.

These include...
KeyValuePathA URL to use to retrieve the media</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MEDIAN</title>
            <link>https://docs.optrix.com.au/aql:fmedian</link>
            <description>MEDIAN

Parameters
OrderNameTypeDesc1pointspoint listThe list of points to aggregate
Returns

Places a const on the stack.

Description

Returns the median amount taken from each of the points.

See Also

AVERAGE 

MAXIMUM 

MINIMUM</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MINIMUM</title>
            <link>https://docs.optrix.com.au/aql:fminimum</link>
            <description>MINIMUM

Parameters
OrderNameTypeDesc1pointspoint listThe list of points to aggregate
Returns

Places a const on the stack.

Description

Searches the points list for the minimum current value, and returns it as a const.

If you want to get the minimum of the history</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MINUTES</title>
            <link>https://docs.optrix.com.au/aql:fminutes</link>
            <description>MINUTES

Parameters
OrderNameTypeDesc1timeframesTime ListThe time frames
Returns

Places a const on the stack.

Description

This function calculates the total amount of time represented by a time list, such as those created with the WHEN function.

The time is returned in minutes. It may include many decimal points.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MOD</title>
            <link>https://docs.optrix.com.au/aql:fmod</link>
            <description>MOD

Parameters
OrderNameTypeDesc1aconstThe first number2bconstThe second number
Returns

Places a const onto the stack.

Description

This command places the modulus (remainder) of a multiplied by b on the stack.

See Also

ADD 

DIV 

MULT 

SUB</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>MULT</title>
            <link>https://docs.optrix.com.au/aql:fmult</link>
            <description>MULT

Parameters
OrderNameTypeDesc1aconstThe first number2bconstThe second number
Returns

Places a const onto the stack.

Description

This command places the result of a multiplied by b on the stack.

See Also

ADD 

DIV 

MOD 

SUB</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>NAME</title>
            <link>https://docs.optrix.com.au/aql:fname</link>
            <description>NAME

Parameters
OrderNameTypeDesc1nameConstThe name to assign to the stack item
Returns

Nothing.

Description

Each stack can be given a name. Although most queries don&#039;t need one, it can be useful when making queries on an unknown ARDI database, particularly when combined with the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>NOTEQUAL</title>
            <link>https://docs.optrix.com.au/aql:fnotequal</link>
            <description>NOTEQUAL

Parameters
OrderNameTypeDesc1listpoint listThe list to search through2valueconstThe value to search for
Returns

Returns a point list.

Description

This function returns only those points that have a value not equal to value. It&#039;s the opposite to the EQUAL function.

Example</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>OFTYPE</title>
            <link>https://docs.optrix.com.au/aql:foftype</link>
            <description>OFTYPE

Parameters
OrderNameTypeDesc1nameconst listThe name(s) to search for
Returns

Places an asset list on the stack.

Description

This returns a list of all assets that match the type name(s) given.

The resulting list includes the all direct and indirect users of that type, so - for example - the query</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Feb 2026 02:18:39 +0000</pubDate>
        </item>
        <item>
            <title>OR</title>
            <link>https://docs.optrix.com.au/aql:for</link>
            <description>OR

Parameters
OrderNameTypeDesc1frame_aTime ListThe first set of times1frame_bTime ListThe second set of times
Returns

Places a time list on the stack.

Description

This function calculates the time frames where either frame_a and frame_b where active.

Example

In this example, we have a primary and a spare pump delivering water to our facility.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>POINTS</title>
            <link>https://docs.optrix.com.au/aql:fpoints</link>
            <description>POINTS

Parameters
OrderNameTypeDesc1assetsasset listA list of assets2propertiesproperty listA list of properties
Returns

Places a list of points onto the stack.

Description

Returns a list of points given both a list of assets and a list of properties.

The properties returned from this function will not contain live values or history - these are usually loaded when needed by later functions, or when the values are returned. This avoids needless data loading, as requesting live data can be ex…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>PROPERTY</title>
            <link>https://docs.optrix.com.au/aql:fproperty</link>
            <description>PROPERTY

Parameters
OrderNameTypeDesc1queryConstThe property name/ID to search for
Returns

Places a property list on the stack.

Description

This function returns a single property by searching for the best match to the passed query value.

Note that this is very similar to</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>PUT</title>
            <link>https://docs.optrix.com.au/aql:fput</link>
            <description>PUT

Parameters
OrderNameTypeDesc1valueanyThe stack item to be stored2nameconstThe name of the variable to retrieve
Returns

Nothing. This function will consume (ie. remove) the value from the stack. If you want to leave the value on the stack, use SET.

Description</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>RANGE</title>
            <link>https://docs.optrix.com.au/aql:frange</link>
            <description>RANGE

Parameters
OrderNameTypeDesc1startconstThe minimum number to generate (inclusive)2endconstThe maximum number to generate (non-inclusive)
Returns

Places a list of consts on the stack.

Description

This function returns a list containing each whole number between</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>RELATED</title>
            <link>https://docs.optrix.com.au/aql:frelated</link>
            <description>RELATED

Parameters
OrderNameTypeDesc1assetbaseasset listThe list of assets to start the relationship search from2relrelationship listThe relationships to search3dirconstThe direction to search in
Returns

Places an asset list on the stack.

Description

This function returns all of the assets related to those in</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>RELATIONSHIP</title>
            <link>https://docs.optrix.com.au/aql:frelationship</link>
            <description>RELATIONSHIP

Parameters
OrderNameTypeDesc1queryConstThe relationship name/ID/phrase to search for
Returns

Places an asset list on the stack, and may conditionally also add a const to the stack describing direction.

Description

This function returns a single relationship by searching for the best match to the passed query value.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>RELS</title>
            <link>https://docs.optrix.com.au/aql:frels</link>
            <description>RELS

Parameters
OrderNameTypeDesc1assetsasset listThe asset(s) to check for relationships
Returns

Places an relationship list on the stack

Description

This command returns a list of all of the relationships present on the given asset(s).

This list will include any relationship present on</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>REMOVE</title>
            <link>https://docs.optrix.com.au/aql:fremove</link>
            <description>REMOVE

Parameters
OrderNameTypeDesc1apoint listA list of points2bproperty listA list of properties to removeOrderNameTypeDesc1apoint listA list of points2basset listA list of assets to removeOrderNameTypeDesc1aproperty listA list of properties2bproperty listA list of properties to removeOrderNameTypeDesc1aasset listA list of assets</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ROOT</title>
            <link>https://docs.optrix.com.au/aql:froot</link>
            <description>ROOT

Parameters
OrderNameTypeDesc1Originrelationship listThe relationship to find the root asset for
Returns

Places an asset list onto the stack.

Description

This command returns the root asset of the relationships given in the Origin parameter.

Often used with SUBTYPES to explore the Type hierarchy, or to begin enumerating one of the other hierarchies in an ARDI database.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ROOTS</title>
            <link>https://docs.optrix.com.au/aql:froots</link>
            <description>ROOTS

Parameters
OrderNameTypeDesc1Originrelationship listThe relationship to find the base assets for
Returns

Places an asset list onto the stack.

Description

This command returns the root asset of the relationships given in the Origin parameter.

Often used with SUBTYPES to explore the Type hierarchy, or to begin enumerating one of the other hierarchies in an ARDI database.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SECONDS</title>
            <link>https://docs.optrix.com.au/aql:fseconds</link>
            <description>SECONDS

Parameters
OrderNameTypeDesc1timeframesTime ListThe time frames
Returns

Places a const on the stack.

Description

This function calculates the total amount of time represented by a time list, such as those created with the WHEN function.

The time is returned in seconds.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SELECTASSETS</title>
            <link>https://docs.optrix.com.au/aql:fselectassets</link>
            <description>SELECTASSETS

Parameters
OrderNameTypeDesc1selectorconstThe Selector expression to use
Returns

Adds a asset list to the stack containing all of the assets found via the selector.

Description

This command is used to get a list of assets using a Selector syntax rather than through normal AQL functions such as</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SELECTPOINTS</title>
            <link>https://docs.optrix.com.au/aql:fselectpoints</link>
            <description>SELECTPOINTS

Parameters
OrderNameTypeDesc1selectorconstThe Selector expression to use
Returns

Adds a point list to the stack containing all of the point of data found via the selector.

Description

This command is used to get a list of points using a Selector syntax rather than through normal AQL functions such as</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SET</title>
            <link>https://docs.optrix.com.au/aql:fset</link>
            <description>SET

Parameters
OrderNameTypeDesc1valueanyThe stack item to be stored2nameconstThe name of the variable to retrieve
Returns

Nothing. This function does not consume the value from the stack. If you want to consume the value, use PUT.

Description

This command is used to store a stack item that can later be retrieved with the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SIZE</title>
            <link>https://docs.optrix.com.au/aql:fsize</link>
            <description>SIZE

Parameters
OrderNameTypeDesc1indexAny ListThe list to find the size of
Returns

Returns the number of items in any map or list.

Description

This function returns a const containing the number of items in the list of map.

This function does not</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SMOOTH</title>
            <link>https://docs.optrix.com.au/aql:fsmooth</link>
            <description>SMOOTH

Parameters
OrderNameTypeDesc1apoint listA list of points that have history2bConstThe number of samples to smooth
Returns

Returns a point list where the values have been smoothed (a rolling average has been applied) to help highlight the base trends below noisy data.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SOURCEDFROM</title>
            <link>https://docs.optrix.com.au/aql:fsourcedfrom</link>
            <description>SOURCEDFROM

Parameters
OrderNameTypeDesc1valueasset / asset listThe asset(s) that are data sources
Returns

A Point List.

Description

This command is used to get a list of points that are linked to this asset as a data source.

The most common usage scenario for this function is when wanting to record or report on information from a given device or data source - for instance, when you want to record points that are coming from a source that has no historian.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SPAN</title>
            <link>https://docs.optrix.com.au/aql:fspan</link>
            <description>SPAN

Parameters
OrderNameTypeDesc1startconstThe start time (YYYY-MM-DD HH:MM:SS)2endconstThe end time (YYYY-MM-DD HH:MM:SS)
Returns

Places a time list on the stack.

Description

This function creates a time list with a single entry - the start and the end times provided as parameters.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>STACKCOUNT</title>
            <link>https://docs.optrix.com.au/aql:fstackcount</link>
            <description>STACKCOUNT

Parameters
OrderNameTypeDesc
Returns

Places a const onto the stack.

Description

This command returns the total number of items on the stack.

See Also

FOR 

SUB 

ADD</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>STDDEV</title>
            <link>https://docs.optrix.com.au/aql:fstddev</link>
            <description>STDDEV

Parameters
OrderNameTypeDesc1pointspoint listThe list of points to aggregate
Returns

Places a const on the stack.

Description

Returns the standard deviation for the current values of each of the points.

If you want to get the standard deviation of the history</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SUB</title>
            <link>https://docs.optrix.com.au/aql:fsub</link>
            <description>SUB

Parameters
OrderNameTypeDesc1aconstThe first number2bconstThe second number
Returns

Places a const onto the stack.

Description

This command places the difference of the numbers a and b on the stack.

See Also

ADD 

DIV 

MULT 

MOD</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SUBTYPES</title>
            <link>https://docs.optrix.com.au/aql:fsubtypes</link>
            <description>SUBTYPES

Parameters
OrderNameTypeDesc1Originasset listThe types to explore
Returns

Places an asset list onto the stack.

Description

This command returns all of the sub-types (ie. the sub-types of the assets under the Origin assets) 

This is often used along with ROOT to explore the Type hierarchy, as types do not usually come up in relationship enumeration functions.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>SWAP</title>
            <link>https://docs.optrix.com.au/aql:fswap</link>
            <description>SWAP

Parameters
OrderNameTypeDesc
Returns

Reverses the order of the stack

Description

This command reverses the order of all of the items on the stack.

It is most often used in the EACH command, as you don&#039;t always want the index item at the start of the stack.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>TORATE</title>
            <link>https://docs.optrix.com.au/aql:ftorate</link>
            <description>TORATE

Parameters
OrderNameTypeDesc1apoint listA list of points that have history2bConstOptional Time-scale in seconds for the rate (defaults to 1 second)
Returns

Returns a point list - the historical values within the point are converted from a total value (usually a feed from a totaliser or counter) into a rate-of-change.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>TOTAL</title>
            <link>https://docs.optrix.com.au/aql:ftotal</link>
            <description>TOTAL

Parameters
OrderNameTypeDesc1apoint listA list of points that have history2bConstOptional Time-scale in seconds for the total (defaults to 1 second)
Returns

Returns a point list without any history and the live values replaced with the total calculated from history.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>TYPE</title>
            <link>https://docs.optrix.com.au/aql:ftype</link>
            <description>TYPE

Parameters
OrderNameTypeDesc1queryConstThe type name/ID to search for
Returns

Places an asset list on the stack.

Description

This function returns a single type asset by searching for the best match to the passed query value.

Macros

You can also access this function through the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Function</title>
            <link>https://docs.optrix.com.au/aql:function</link>
            <description>Function

A function is a type of item on the AQL stack that itself is an AQL query.

These are used with looping functions such as EACH and FOR to repeatedly call the enclosed functions.

Functions are written between square brackets, such as the following</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>UNLAG</title>
            <link>https://docs.optrix.com.au/aql:funlag</link>
            <description>UNLAG

Parameters
OrderNameTypeDesc1apoint listA list of points that have history2bConstA number of seconds to &#039;bump&#039; the requested range
Returns

Places an updated version of the point list on the stack.

Description

This function is used to adjust the times in a set of points that contain history (ie. from a call to</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>UVALUES</title>
            <link>https://docs.optrix.com.au/aql:fuvalue</link>
            <description>UVALUES

Parameters
OrderNameTypeDesc1assetsasset listA list of assets2propertiesproperty listA list of properties
Returns

Places a list of points onto the stack, searching upstream into parent assets if no match can be found on the assets in the list.

Description

Returns a list of points given both a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>WHEN</title>
            <link>https://docs.optrix.com.au/aql:fwhen</link>
            <description>WHEN

Parameters
OrderNameTypeDesc1pointspoint listThe point(s) containing the history to search through1comparisonFunctionThe comparison function
Returns

Places an time list on the stack.

Description

This function returns a list of times - based on the history of the points</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>WHERE</title>
            <link>https://docs.optrix.com.au/aql:fwhere</link>
            <description>WHERE

Parameters
OrderNameTypeDesc1pointspoint listThe point(s) containing the history to search through1comparisonFunctionThe comparison function
Returns

Places an time list on the stack.

Description

This function returns a list of times - based on the history of the points</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ZIP</title>
            <link>https://docs.optrix.com.au/aql:fzip</link>
            <description>ZIP

Parameters
OrderNameTypeDesc1AAsset List, Property Lists, Relationship List, MapThe first list1BAs aboveThe second list
or
OrderNameTypeDesc1CountconstThe number of lists to zip together.
Returns

Places an item of the same type as passed to the command on the stack.

Description

This function combines two or more lists of the same type into a new list containing all of the items in each list.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Language Reference</title>
            <link>https://docs.optrix.com.au/aql:language_reference</link>
            <description>Language Reference

There are a few reference indexes available....

AQL Reference - Alphabetical 


AQL Reference - Type</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>A</title>
            <link>https://docs.optrix.com.au/aql:ma</link>
            <description>A

The A macro is a shortcut for the ASSET command.

Before

A(&#039;TE101&#039;)

After

&#039;TE101&#039; ASSET</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Macros</title>
            <link>https://docs.optrix.com.au/aql:macros</link>
            <description>Macros

Macros are shortcuts for those using the query language, to make common query patterns much faster to write.

The most common macros are A, P and R, which are shortcuts for the ASSET, PROPERTY and RELATIONSHIP commands, respectively.

They are simple regular expression replacements - before AQL processes your script, they are converted to their &#039;expanded&#039; format.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Map</title>
            <link>https://docs.optrix.com.au/aql:map</link>
            <description>Map

A map is an array of key-value pairs, usually given as a JSON array.

The value of a map entry may itself be a map - this is common in functions like fENUMMAP.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>CONNECTIONS</title>
            <link>https://docs.optrix.com.au/aql:mconnected</link>
            <description>CONNECTIONS

The CONNECTIONS macro gives each of the direct relationships an asset has with its neighbours on all relationships.

This leaves a number of lists on the stack - one for each relationship upstream, one for each relationship downstream. Plus the last item on the stack is a list of relationships. If this is not needed, you can use the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>THAT ARE</title>
            <link>https://docs.optrix.com.au/aql:mhasenumvalue</link>
            <description>THAT ARE

The THAT ARE macro helps you determine if assets are in a given state based on its name rather than its numeric value.

Before

THAT ARE(&#039;Open&#039;)

After

&#039;Open&#039; ENUMFILTER &#039;filter&#039; SET &#039;propertyid&#039; MAPTOPROPLIST POINTS &#039;filter&#039; GET MAPFILTER</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>IGNORE</title>
            <link>https://docs.optrix.com.au/aql:mignore</link>
            <description>IGNORE

The IGNORE macro is an alias for EAT, since the meaning of &#039;Eat&#039; is not always obvious in some contexts.

Before

IGNORE

After

EAT</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>INSIDE</title>
            <link>https://docs.optrix.com.au/aql:minside</link>
            <description>INSIDE

Parameters
OrderNameTypeDesc1assetasset listThe asset(s) to look inside
Returns

Places an asset list on the stack.

Description

This returns a list of all assets that are downstream from the given asset(s) on the Location relationship. 

The resulting list includes the original asset and all children, grandchildren etc.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>OUTSIDE</title>
            <link>https://docs.optrix.com.au/aql:moutside</link>
            <description>OUTSIDE

Parameters
OrderNameTypeDesc1assetasset listThe asset(s) to search from
Returns

Places an asset list on the stack.

Description

This returns a list of all assets that are upstream from the given asset(s) on the Location relationship. 

The resulting list includes the original asset and all parents, grandparents etc.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>P</title>
            <link>https://docs.optrix.com.au/aql:mp</link>
            <description>P

The P macro is a shortcut for the PROPERTY command.

Before

P(&#039;Temperature&#039;)

After

&#039;Temperature&#039; PROPERTY</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>R</title>
            <link>https://docs.optrix.com.au/aql:mr</link>
            <description>R

The R macro is a shortcut for the RELATIONSHIP command.

Before

R(&#039;Location&#039;)

After

&#039;Location&#039; RELATIONSHIP</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>T</title>
            <link>https://docs.optrix.com.au/aql:mt</link>
            <description>T

The T macro is a shortcut for the TYPE command.

Before

T(&#039;Control Valve&#039;)

After

&#039;Control Valve&#039; TYPE</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>VALUEOF</title>
            <link>https://docs.optrix.com.au/aql:mvalueof</link>
            <description>VALUEOF

The VALUEOF macro is a shortcut to get the points of a given asset and property.

Before

VALUEOF(&#039;TE101&#039;,&#039;Temperature&#039;)

After

&#039;TE101&#039; ASSET &#039;Temperature&#039; PROPERTY POINTS</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>VALUES</title>
            <link>https://docs.optrix.com.au/aql:mvalues</link>
            <description>VALUES

The VALUES macro is a shortcut for the POINTS command.

This is not intended to shorten the command, but provide an alternate word that might be more intuitive or readable in some contexts.

Before

A(&#039;TE101&#039;) P(&#039;Temperature&#039;) VALUES

After

&#039;TE101&#039; ASSET &#039;Temperature&#039; PROPERTY POINTS</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Point Lists</title>
            <link>https://docs.optrix.com.au/aql:point_list</link>
            <description>Point Lists

Point lists are a list of valid combinations of asset and property.

They are most often created with the POINTS command, or the VALUES macro, combining a list of properties with a list of assets.

When returned as a JSON object, each point will contain</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Property Lists</title>
            <link>https://docs.optrix.com.au/aql:property_list</link>
            <description>Property Lists

Property lists are lists of ARDI properties.

They are most often created with the PROPERTY command, or the P macro, choosing the property by name.

When returned as a JSON object, each point will contain...
NameMeaningidThe ARDI ID number of the property</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Relationship List</title>
            <link>https://docs.optrix.com.au/aql:relationship_list</link>
            <description>Relationship List

Like property and asset lists, a relationship list is a list of one or more relationships, usually created from the RELATIONSHIP command.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>INDEX</title>
            <link>https://docs.optrix.com.au/aql:setmap</link>
            <description>INDEX

Parameters
OrderNameTypeDesc1arrayanyThe multi-valued item (ie. map or array) to be searched2keyconstThe index number in the array
Returns

Places an item of the same type as array onto the stack.

Description

This function is used to extract the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Specific Examples</title>
            <link>https://docs.optrix.com.au/aql:specific_examples</link>
            <description>Specific Examples

These queries show specific examples of some real-world possible queries, based on our Blast Furnace Demo located at &lt;http://demo.optrix.com.au/s/bf&gt;

----------

Show All Valves

&#039;Valve&#039; TYPE ISTYPE

Run Live (JSON)

----------

Get all Valves on Stove #1

&#039;Stove #1&#039; ASSET &#039;Location&#039; RELATIONSHIP &#039;down&#039;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>How Stack-Based Languages Work</title>
            <link>https://docs.optrix.com.au/aql:stack_based_language</link>
            <description>How Stack-Based Languages Work

Introduction

AQL uses a stack when creating queries.

A stack is simply an ordered list of items. Your query will create a stack and return its contents.

When you build your AQL query, you add data and commands to the stack.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Script Execution Example Page 1</title>
            <link>https://docs.optrix.com.au/aql:stack_example_a</link>
            <description>Script Execution Example Page 1

The script &#039;TE101&#039; ASSET has two components - a constant (TE101) and a command (ASSET).

These steps form the &#039;code&#039; of your query.

These steps are processed one-by-one, from first to last. Most items are added directly to the stack, except for commands, which are handled differently.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Script Execution Example Page 2</title>
            <link>https://docs.optrix.com.au/aql:stack_example_b</link>
            <description>Script Execution Example Page 2

After the last page, our stack and code looked like this...
StackCodeTE101 [Constant]ASSET [Command]
Now, it&#039;s time to copy the next line from code to the stack.

However, this time it&#039;s a command - rather than these being copied directly onto the stack, it&#039;s</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Script Execution Example Page 4</title>
            <link>https://docs.optrix.com.au/aql:stack_example_c</link>
            <description>Script Execution Example Page 4

In the previous section, we found that the command &#039;TE101&#039; ASSET would result in the stack being in the following state...
StackCode AssetList [ { id: 203, name: “Temperature Sensor #1”, ern: “TE101” } ]  
Here, we are going to learn to do more.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>Time List</title>
            <link>https://docs.optrix.com.au/aql:time_list</link>
            <description>Time List

A time list is a list of time frames - usually created by the WHEN function.

Each time frame has &#039;start&#039; and an &#039;end&#039; property</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:16 +0000</pubDate>
        </item>
        <item>
            <title>ARDI Query Language (AQL)</title>
            <link>https://docs.optrix.com.au/aql:welcome</link>
            <description>ARDI Query Language (AQL)

The ARDI Query Language is designed to allow users to create complex queries on ARDI data. 

Because of the diverse range of information that ARDI can store, it doesn&#039;t use an SQL-style syntax. Instead, it uses a stack-based language that effectively creates simple &#039;programs&#039; for the ARDI server to run and generate data for you.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 27 Apr 2026 22:55:41 +0000</pubDate>
        </item>
    </channel>
</rss>
