New to expressions and formulas? Try Expressions: The Essentials.

You can also learn more about other types of expressions.

Column expressions return the value of a specific column in a row. The row itself does not need to be specified; it's usually implicit in the context of the expression.

  • Name any column using square brackets around the exact column name: [ColumnName].
  • When combining a column value reference (e.g., [ColumnName]) with another value, put the expression in parentheses.
  • When used in a column constraint (Valid_If, Show_If, Editable_If, or Required_If), the column name is implicit. In this case, you can use [_THIS] to refer to the value of the current column in the current row. See Column Constraints.
  • If the current row is not implicit from the context of the expression, it must be explicitly specified using a Dereference Expression

If you have an column of type App, you can use deep links to navigate to different views or other apps.

Some other expressions you might use for columns include:

  • CONCATENATE(text-expression, text-expression[, ...]) to combine two or more Text values.
  • HERE() for LatLong of the current location.
  • IF(condition-expression, then-expression, else-expression)
  • IFS(condition-expression, then-expression[, condition-expression, then-expression]...) to provide a sequence of condition-value pairs that are evaluated left to right until one of the conditions is true.
  • ISBLANK(expression) to check if expression produces a blank result.
  • LEN(text-expression) to get the length of a Text value.
  • NOW() for the current DateTime.
  • ORDERBY(ref-list-expression, column[, direction[, column]]...) to sort a list of references. The first argument must yield a list of references (i.e. a list of the keys of the records to sort), followed by one or more pairs indicating a column name to order by and its ordering direction (TRUE for descending order, FALSE for ascending order). If the data should be ordered by just one column, the ordering direction may be omitted and defaults to FALSE (for ascending order). For example: ORDERBY([Related Orders [Customer Name]], [Order Date], FALSE)
  • SWITCH(expression, compare-value, result[, compare-value, result]..., default-result) to choose one of the results based on the value of the expression. It's a simpler version of IFS().
  • TIMENOW() for the current Time.
  • TODAY() for the current Date.
  • UNIQUEID() for a new unique Text value, e.g. for use as a key.
  • USEREMAIL() for the Email of the current user.
  • USERNAME() for the Name of the current user.

Common Use Cases

  • In a virtual column: CONCATENATE([FirstName], " ", [LastName])
  • In a slice filter condition: [Status] = "Complete"
  • In a Valid_If column constraint: [_THIS] > 25

Expressions in this article align with the Column Expressions tab in Expression Builder in the app editor.

Pattern                                           Result                                        Example

[_THIS]                                           Text                                            [_THIS]

[{column_name}]                           Number                                     [Project #]

Did this answer your question?