The format of the SORTORDER operator is:

    SORTORDER(Logical@, LIST%)

The operator acts as a placeholder for a list on one dimension of a PRODUCTMAP operator, and is usually constructed using the Stochastic Operators interface, once a productmap has been created.

The purpose of the list is to allow complex definitions of "closeness". Without this ability, closeness would be defined as closeness in the (ordered) list that makes up the values of the DISTRIB operator.

The logical connection allows for some control of the ordering - if the connection is not True, the SORTORDER operator is ignored.

When the SORTORDER operator is constructed using the Stochastic Operators window, the list begins as the list of values in the DISTRIB operator, and will usually end up being some restructuring of this list, including a subset of it (the list in the DISTRIB is not affected). Members not from the DISTRIB operator will have no effect. If you wish to preserve the reordered list from one phase of data mining to the next, remember to lock the DISTRIB value list (using Stochastic Operators->Cell Management->Lock on the DISTRIB).

As part of the definition of the list, various list constants within it can be marked as:

Ordered List - the default
Unordered Set - the sequence has no meaning, any member is equidistant from any other
Ordered One Way - ordering is valid from left to right, but not right to left

Marking of a particular list constant in the SORTORDER is performed by listing the SORTORDERs for the PRODUCTMAP when it is displayed in the Stochastic Operators window, then using the popup on the list constant in the List Editor window to set the individual list type.

Some examples:

Windows come made of wood, aluminium or steel. The two metal windows are closer to each other than to wood, so a list might be

{Wood,{Aluminium, Steel}}

Looking for something close to Wood would find either Aluminium or Steel, while looking for something close to Steel would find Aluminium one step away and Wood two steps away.

Replacing a wide  window with two narrower ones. The list might be


with both sublists marked Ordered One Way. That is, a 6 foot wide window can be replaced with two 3 foot ones, but not vice versa.

A ring formed by A, B, C, D and back to A would use a duplicate in the list, as

{A, B, C, D, A}

so that, in looking for objects close to A, both B and D would be found. Duplicate entries in several sublists are also common, typically where one dimension is being used as a grab bag of attributes.

If all of A, B, C, D are equally close to each other, a list

{A, B, C, D}

would be marked as an unordered set, so looking for something close to any member would find all the others.

The ordering introduced by SORTORDER is overlaid by ranges on dimensions, so for the sublists

{{A, B}, {B, C}}

if a value close to A is being sought, and B is not in the range, then C will not be found.

See Product Knowledge

Related Operators



PRODUCTMAP - direct user of SORTORDER operator