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 |