superarraybuild
ARRAY
,
SEPARATOR
,
DATABASE
,
QUERY
,
GENERATE
,
OPTIONS
,
MAXTICKS
,
MAXRECORDS
,
SKIPRECORDS
,
CACHELEVEL
The superarraybuild statement scans a database to create a text array. This statement is is similar to arraybuild, but with a number of additional options (see Text Arrays).
Parameters
This statement has ten parameters:
array – is the variable or field that will contain the new array. If you use a field for this parameter it must be a text field.
separator – is the separator character for the output array.
database – is the database that will be scanned. This database must be currently open. If this parameter is ""
then the current database will be scanned.
query – is a true/false formula that determines whether a record should be included in the output array. For example, if the output array should only contain records where the first name begins with A, the conditional formula should be First beginswith "A"
or First[1,1]="A"
.
generate – is a formula that Panorama uses to build the output array. For example, if you want the output array to include the name and phone number, the formula might be First+" "+Last+" "+Phone
.
options – is a numeric formula that specifies various options. If the parameter is 0 then the default options are used. At the present time there are only two options: 1 = restart scan where previous scan left off, and 2 = scan selected records only (like arrayselectedbuild ). You can combine multiple options by adding them together, for example 3 would specify both selected records only and restart scan where previous scan left off. (This parameter is optional.)
maxticks – is a numeric parameter that specifies the maximum amount of time before the scan is aborted. If zero, the scan will continue until the entire database is scanned no matter how much time it takes. If non-zero then the time is specified in “ticks”, where each tick is 1/60th of a second. For example if you want to scan for a maximum of 1/4 second, MaxTicks would be 15, for 1/2 second it would be 30. (This parameter is optional.)
maxrecords – is a numeric parameter that specifies the maximum number of records to include in the output array. If zero, there is no limit. If non-zero then scanning will stop when the requested number of matching records (as determined by the conditional formula) have been found. If the value is negative then SuperArrayBuild will scan in reverse. For example, you could use the value -1 to scan for the last record in the database that matches the conditional formula. (This parameter is optional.)
skiprecords – is a numeric parameter that tells SuperArrayBuild to skip over the first few matching records. If zero, no records are skipped. For example, this can be used to generate partial lists - records 1–10, then 11–20 (by skipping the first 10), then 21–30 (by skipping the first 20), etc. (This parameter is optional.)
cachelevel – should be set to zero. The LiveClairvoyance custom procedure uses this parameter to speed up searches, however, the operation of this parameter is otherwise not documented and is for ProVUE use only. Setting this parameter to a non-zero value will probably cause missing data in the output array. (This parameter is optional.)
Description
This statement builds an array from information in any open database.
This example builds an html table listing the first ten contacts in San Francisco, with their phone numbers.
local webTable
superarraybuild
webTable,
cr(),
"Contacts",
State="CA" and City="San Francisco",
"<tr><td>"+Name+"</td><td>"+Phone+"</td><tr>",
0,0,10,0,0
webTable="<table>"+webTable+"</table>"
Here a similar example builds an html table listing the next ten contacts in San Francisco (11–20).
local webTable
superarraybuild
webTable,
cr(),
"Contacts",
State="CA" and City="San Francisco"
"<tr><td>"+Name+"</td><td>"+Phone+"</td><tr>"
0,0,10,10,0
webTable="<table>"+webTable+"</table>"
This statement may be used in any view.
Error Messages
Assorted error messages – If the formula supplied by the user contains an error, the operation is aborted and the error is returned.
See Also
- appenddataarrays( -- appends two or more data arrays to each other (see Data Arrays).
- array( -- extracts a single data item from a text array or a data array (see Text Arrays and Data Arrays).
- arrayboth -- creates a new array from two existing arrays. The new array contains only items that are in both of the original arrays.
- arrayboth( -- creates a new array from two arrays. The new array contains only items that are in both of the original arrays.
- arraybuild -- builds an array by scanning a database and creating an array element for every record (including invisible records) in the database (see Text Arrays).
- arraybuild( -- builds an array by scanning a database and creating an array element for every record (including invisible records) in the database (see Text Arrays).
- arraychange( -- changes the value of a single data item in a text array or a data array (see Text Arrays and Data Arrays).
- arraycolumn( -- extracts a column from a two dimensional array.
- arraycontains( -- checks to see if any element of a text array or a data array matches a specified value.
- arraydeduplicate( -- removes duplicate elements from a text array (see Text Arrays).
- arraydelete( -- deletes (removes) one or more elements from a text array or a data array (see Text Arrays and Data Arrays).
- arraydeletevalue( -- deletes any array elements that match the value parameter. This must be an exact match, including upper and lower case. If the value occurs multiple times in the array, every occurence of the value will be removed, with one exception: if the value occurs in two consecutive array elements, only the first occurence will be deleted.
- arraydifference -- creates a new array from two existing text arrays. The new array contains only items that are in the first array but *not* in the second array.
- arraydifference( -- creates a new array from two existing text arrays. The new array contains only items that are in the first array but *not* in the second array.
- arrayelement( -- converts between character positions and array element numbers in a text array.
- arrayfilter( -- processes each element of a text array or a data array with a formula (see Text Arrays and Data Arrays).
- arrayfirst( -- extracts the first element of a text array.
- arrayhack( -- hacks an array by adding, replacing or removing array elements
- arrayinsert( -- inserts one or more empty elements into the middle of a text array (see [Text Arrays]).
- arrayitemsandwich( -- adds a prefix and/or suffix to each non-blank item in a text array.
- arrayitemtrim( -- removes characters from the beginning and/or end of each item in an array.
- arraylast( -- extracts the last element of an array.
- arraylefttrim( -- removes one or more elements from the beginning of an array.
- arraylookup( -- uses a key to look up a value in a two dimensional text array containing key/value pairs (see Text Arrays).
- arraymerge( -- merges two text arrays together (see [Text Arrays]).
- arraymultisort -- sorts a two-dimensional array on the key of one or more of its columns.
- arraymultisort( -- sorts a two-dimensional array on the key of one or more of its columns.
- arraynotcontains( -- is the reverse of arraycontains(. it returns *false* if the value is in the array, *true* if it is not in the array.
- arraynumericsort( -- sorts a text array in numeric order (see Text Arrays).
- arraynumerictotal -- totals all the numeric elements of a text array.
- arraynumerictotal( -- totals all the numeric elements of a text array.
- arrayrandomize -- reorders an array in random order.
- arrayrandomize( -- reorders an array in random order.
- arrayrange( -- extracts a series of data items from a text array or a data array (see Text Arrays and Data Arrays).
- arrayrelocate -- moves one or more items in a text array to a new position.
- arrayrelocate( -- moves one or more items to a new position in a text array or a data array (see Text Arrays and Data Arrays).
- arrayreplacevalue( -- changes array elements that match a specified value.
- arrayreverse( -- reverses the order of the elements in a text array or a data array (see Text Arrays and Data Arrays).
- arrayreverselookup( -- uses a value to look up a key in a two dimensional text array containing key/value pairs (see Text Arrays).
- arraysearch( -- searches a text array or a data array (see Text Arrays and Data Arrays) to see if it contains a specific value.
- arrayselectedbuild -- builds an array by scanning a database and creating an array element for every visible (selected) record in the database (see Text Arrays).
- arrayselectedbuild( -- builds an array by scanning a database and creating an array element for every visible (selected) record in the database (see Text Arrays).
- arraysize( -- returns the number of elements in a text array or a data array (see Text Arrays and Data Arrays).
- arraysort -- sorts the elements in an array (see Text Arrays).
- arraysort( -- alphabetizes (A-Z) the elements in a text array (see [Text Arrays]).
- arraystrip -- strips blank elements from an array.
- arraystrip( -- removes any blank elements from a text array or a data array (see Text Arrays and Data Arrays).
- arraytableceiling( -- looks up a value in a double column table, similar to the table( function but from an array instead of a database.
- arraytablefloor( -- looks up a value in a double column table, similar to the table( function but from an array instead of a database.
- arraytoggle -- "toggles" a value within an array.
- arraytopythonlist( -- converts a Panorama array into a Python list.
- arraytrim( -- removes one or more elements from the end of an array.
- arrayunpropagate -- scans an array from top to bottom, removing duplicate values in a row.
- arrayunpropagate( -- scans an array from top to bottom, removing duplicate values in a row.
- chararray( -- extracts a single character from text.
- commalist( -- converts a text array (see Text Arrays) into an English list, with items separated by a comma and a space, except for the last two items which are separated by the word *and* and spaces.
- commatocr( -- converts a comma delimited array into a carriage return delimited array.
- csvtotsv( -- converts comma separated text into tab separated text.
- Data Arrays -- A numbered collection of data values.
- dataarray( -- creates a data array from zero or more separate values (see Data Arrays).
- dataarrayappend( -- appends one or more values to the end of an existing array.
- dataarraybuild( -- builds a data array by scanning a database and creating an array element for every record (including invisible records) in the database (see Data Arrays).
- dataarrayinsert( -- inserts one or more values into the middle of an existing array.
- dataarrayselectedbuild( -- builds a data array by scanning a database and creating an array element for every visible record in the database (see Data Arrays).
- exportdataarray( -- converts a data array into a text array (see Data Arrays and Text Arrays).
- extract( -- extracts a single data item from a text array, and can also be used to count the number of items in the array.
- generatedataarray( -- generates a new data array based on a formula (see Data Arrays and Text Arrays).
- getstructurevalue( -- extracts a value from a structure of nested Data Dictionaries and/or Data Arrays.
- htmlarraytable -- generates an HTML table from an arrray.
- htmldatamerge -- uses a template to generate HTML you want from a database.
- htmldatatable -- generates an HTML table from selected data in the current database.
- htmltabletoarray -- converts an HTML table into a text array.
- importdataarray( -- converts a text array into a data array (see Data Arrays and Text Arrays).
- lineitemarray( -- converts the data in a set of line item fields into a text array (see Text Arrays).
- linescontain( -- checks to see if any line in a carriage return separated array matches the specified value.
- linesnotcontain( -- is the reverse of the linescontain( function.
- linesort( -- sorts lines of text in ascending order.
- linestrip( -- removes any blank lines from the text.
- makenumberedarray -- generates a numeric sequenced text array.
- makenumberedarray( -- generates a numeric sequenced text array.
- randomarrayelement( -- returns a random element from an array.
- randomline( -- returns a random line from multiple lines of text.
- randomword( -- returns a random word from a list of words.
- setfieldproperties -- modifies one or more properties (name, data type, formula, etc.) of the current field.
- tabarray( -- extracts the nth element from a tab delimited array.
- tagarray( -- builds an array (see Text Arrays) containing the body of all the specified tags (usually HTML tags) in the text.
- Text Arrays -- A numbered collection of text values.
- tsvtocsv( -- converts tab separated text into comma separated text.
- tsvtojson( -- converts tab separated text into JSON formatted text.
History
10.0 | Updated | Carried over from Panorama 6.0, but now the last five parameters are optional (and all will default to zero if omitted).. |