XCubes

Link transform functions

This applies to Links whose source is a URL, a stored file, an integration or a Data Table — every one of them evaluates its transform columns the same way, and the Transform step's preview shows what the run will use; cube-to-cube Links have no transform columns. Transform columns on a Link are formulas over the source columns, evaluated once per row before mapping. Reference a column as [Column Name] (a bare name also works when it starts with a letter or underscore and is otherwise letters, digits and underscores), separate arguments with , or ;, join text with &, and compare with =, <>, <, >. Dates are read the same way the Date → period mapping mode reads them: ISO, day/month/year families, Excel serials and yyyymmdd; an all-numeric date like 03/04/2026 stays blank unless you pass "dmy" or "mdy" as the order argument. A formula the evaluator cannot make sense of, or an unknown function, yields #ERROR! / #NAME?(X) in every row — never a number — and such rows are skipped on import.

The examples below read a sample row where [Account] is Frais, [Date] is 2026-04-26, [Debit] is 5, [Memo] is empty, [Month] is 4, [Year] is 2026.

Date

Function What it does Example
DAY(date[, order]) Day of the month DAY([Date]) → 26
MONTH(date[, order]) Month of a date (1-12) MONTH([Date]) → 4
PERIOD(date, format[, order]) Period code in a Time-dimension format (yyyy-mm, yyyy-q, mmm yyyy, …); blank when the date or the format cannot be read PERIOD([Date], "yyyy-mm") → 2026-04
QUARTER(date[, order]) Quarter of a date (1-4) QUARTER([Date]) → 2
TODAY() Today's date as yyyy-mm-dd LEN(TODAY()) → 10
WEEK(date[, order]) ISO week number (1-53) WEEK([Date]) → 17
YEAR(date[, order]) Year of a date YEAR([Date]) → 2026

Text

Function What it does Example
CONCAT(a, b, ...) Join values into one text CONCAT([Year], "-", [Month]) → 2026-4
FIND(search, text) 1-based position of a search text (0 if absent) FIND("c", "abc") → 3
LEFT(text, n) First N characters LEFT("627100", 3) → 627
LEN(text) Number of characters LEN("abcd") → 4
LOWER(text) Lowercase LOWER("ABC") → abc
MID(text, start, length) Substring from a 1-based position MID("627100", 2, 3) → 271
REPLACE(text, start, length, new) Replace a range of characters REPLACE("abcdef", 2, 3, "X") → aXef
REPT(text, count) Repeat a text N times REPT("ab", 3) → ababab
RIGHT(text, n) Last N characters RIGHT("627100", 2) → 00
SUBSTITUTE(text, old, new) Replace every occurrence SUBSTITUTE("a-b-c", "-", "/") → a/b/c
TEXT(value) Render a value as text TEXT(42) → 42
TRIM(text) Strip surrounding whitespace TRIM(" x ") → x
UPPER(text) Uppercase UPPER([Account]) → FRAIS

Math

Function What it does Example
ABS(number) Absolute value ABS(-3) → 3
CEIL(number) Round up to an integer CEIL(2.1) → 3
FLOOR(number) Round down to an integer FLOOR(2.7) → 2
MAX(a, b, ...) Largest of the values MAX(4, 2, 9) → 9
MIN(a, b, ...) Smallest of the values MIN(4, 2, 9) → 2
MOD(number, divisor) Remainder of a division MOD(7, 3) → 1
POWER(number, exponent) Raise to a power POWER(2, 10) → 1024
ROUND(number, decimals) Round to N decimals ROUND(2.456, 2) → 2.46

Logic

Function What it does Example
AND(a, b, ...) True when every argument is true AND(TRUE, 1 > 0) → true
IF(condition, then, else) Pick a value by condition IF([Debit] > 0, "D", "C") → D
ISBLANK(value) True for an empty cell ISBLANK([Memo]) → true
ISNUMBER(value) True for a number or numeric text ISNUMBER("12.5") → true
NOT(value) Negate NOT(FALSE) → true
OR(a, b, ...) True when any argument is true OR(FALSE, 0) → false

Conversion

Function What it does Example
INT(number) Truncate to an integer INT(7.9) → 7
VALUE(text) Text to number (0 when not numeric) VALUE("12.5") → 12.5