Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 10.0   10.1   10.2   10.3   10.4   10.5   11.0   11.1   11.2   11.3    Statistic    FMM    Blog  

Matrix.Evaluate

Evaluates an expression for each cell.

Component Version macOS Windows Linux Server iOS SDK
Matrix 10.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Matrix.Evaluate"; MatrixRef; Expression { ; firstRow; lastRow; firstCol; lastCol; ReadOnly } )   More

Parameters

Parameter Description Example Flags
MatrixRef The matrix reference number. $matrix
Expression The expression to evaluate.
Can include "row", "column" and "current" as variables.
"current +1"
firstRow The index of first row.
Default is 0.
0 Optional
lastRow The index of last row.
Default is FM.SQL.RowCount-1.
5 Optional
firstCol The index of first column.
Default is 0.
0 Optional
lastCol The index of last column.
Default is FM.SQL.FieldCount-1.
6 Optional
ReadOnly Pass 1 to ignore results of expressions and not put them back in matrix. 0 Optional

Result

Returns OK or error.

Description

Evaluates an expression for each cell.
You can change the value by doing a calculation in FileMaker syntax to change the value.
Reference current value via "current", the current row via "row" and the current column via "column" as variable names.
The result of the evaluate is written to the cell.
May return error if expression is invalid.

Examples

Try evaluate:

Set Variable [ $matrix ; Value: MBS("Matrix.New"; 5; 6) ]
# set values
Set Variable [ $r ; Value: MBS("Matrix.SetRow"; $matrix; 0; "Joe¶Miller¶New York¶123") ]
Set Variable [ $r ; Value: MBS("Matrix.SetRow"; $matrix; 1; "Bob¶Jones¶Washington¶234") ]
Set Variable [ $r ; Value: MBS("Matrix.SetRow"; $matrix; 2; "Jane¶Stones¶Los Angeles¶567") ]

# add one to all by expression
Set Variable [ $r ; Value: MBS("Matrix.Evaluate"; $matrix; "current + 1"; 0; 2; 3; 3) ]

# show numbers
Show Custom Dialog [ "Values" ; MBS("Matrix.GetColumn"; $matrix; 3) ]
Set Variable [ $r ; Value: MBS("Matrix.Release"; $matrix) ]

Set each cell to the value and row/column:

Set Variable [ $r ; Value: MBS("Matrix.Evaluate"; $matrix; "current & \" \" & row & \" \" & column"; 0; 3; 3; 3) ]

See also

Release notes

Blog Entries

Created 2nd April 2020, last changed 28th January 2021


Matrix.DataType - Matrix.GetColumn

Feedback: Report problem or ask question.




Links
MBS Xojo tutorial videos

Start Chat