string-evalstep can perform string based evaluations to transform data. It enables numeric calculations, casting to different data types, splits, and more.
radius_km, evaluates the expression, and then writes the output variable to the
XORoperators as well as parentheses. The logic also supports the
IF()function much like you would see in databases and/or Excel (see Conditional functions below).
FALSE, other numeric values will convert to
TRUE. The string versions of
FALSEwill convert as expected.
itemto a time. The default time layout is
itemto a duration.
itemshould be a duration string, which is a signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns" (nanosecond), "us" or "µs" (microsecond), "ms" (millisecond), "s" (second), "m" (minute), "h" (hour).
item_if_falsefor true/false values respectively.
[a]+[b]produces a list
elementsof its first argument to create a single string. The
separatorstring defaults to
""if not set, and is placed between elements in the resulting string.
string, or the number of elements if the item is an array.
stringwith all leading and trailing Unicode code points representing whitespace.
stringwith all leading Unicode code points representing whitespace.
stringwith all trailing Unicode code points representing whitespace.
string(starting from right)
string(starting from left)
num_of_chars) from a
num_of_charsis not provided, the rest of the
basenumber and raises it to the power of the
eraised to the power of
number. The constant
e(2.718281...), is the base of natural logarithms.
+symbol. For example:
JOIN()function for this:
bedsFilter = “beds = 3”, then the output will be
filterExpr = “beds = 3”
a+b = 56if
a = “5”and
b = “6”are both
stringvalues, you might instead want
INT(a)+INT(b) = 11.
my_numbermust exist for the step to execute. If it does, it is converted from a string to a float, then the square root is calculated and written back into the variable. You can also write the output back to the same variable if needed.
string-evalwith other steps such as regular expressions allows highly complex logic to be compiled quickly. Below are some examples:
ARRAY_MATCH(expression)filter syntax where
expressionis a filter expression targeting multiple variant fields to ensure they all match the expression.
string-evalto collapse the filters into a single
ARRAY_MATCH()filter expression. The output from the above step will be:
modelFilterexist, the string-eval step would not work as expected, so we add the
condition: makeFilter OR yearFilter OR modelFilterto the step to ensure at least one of these filter expressions exists
string-evalstep joins the filters, wraps them in an
ARRAY_MATCH()function and binds the output to the
condition: comboFilterExprto ensure the filter expression exists, if so it is added to the query