Мақсаты
Әр жолға жаңа өрістер есептейді. Формулалар кіріс бағандарын, алдыңғы блок параметрлерін және тізімде жоғары есептелген өрістерді пайдалана алады. Кіріктірілген ƒx шебері функциялар каталогы мен мысалдарын көрсетеді.
Кірістер және шығыстар
Бір in кірісі; out бастапқы және жаңа өрістерді қамтиды. Жол саны өзгермейді.
Параметрлер
| Параметр | Баптаулар және мәндер | Нұсқалар және шектер |
|---|---|---|
fields | 1–100 өріс: бірегей атау және ұзындығы 2048 таңбаға дейінгі өрнек. | Саны: 1–100 |
decimal | Кіріс деректеріндегі сандық мәндердің ондық бөлгіші. | Нұсқалар: ., ,Әдепкі: . |
Формула функцияларының каталогы
| Функция және аргументтер | Мақсаты | Мысал |
|---|---|---|
field(назва) | Ағымдағы жол бағанының мәні. | field("Revenue") |
param(назва) | Тек ағымдағы тармақтың алдыңғы блогындағы параметр. | param("Rate") |
number(значення) | Сан пішімі блогынан кейін санға түрлендіру. | number("12.5") |
text(значення) | Мәнді мәтінге түрлендіру. | text(125) |
abs(число) | Санның абсолют мәні. | abs(-12) |
round(число,знаків?) | Жарты мәндерді нөлден алшақ дөңгелектеу; дәлдік −15-тен 15-ке дейін. | round(12.345, 2) |
min(числа*) | Берілген сандардың ең кішісі. | min(3, 8, 2) |
max(числа*) | Берілген сандардың ең үлкені. | max(3, 8, 2) |
sum(числа*) | Ағымдағы жол аргументтерінің қосындысы. Жолдар бойынша қосу үшін топтауды қолданыңыз. | sum(10, 20, 30) |
average(числа*) | Аргументтердің арифметикалық ортасы. | average(10, 20) |
ceil(число) | Оң шексіздікке қарай дөңгелектеу. | ceil(-1.2) |
floor(число) | Теріс шексіздікке қарай дөңгелектеу. | floor(-1.2) |
trunc(число,знаків?) | Бөлшек бөлігін дөңгелектемей алып тастау. | trunc(12.349, 2) |
roundup(число,знаків?) | Нөлден алшақ дөңгелектеу. | roundup(12.341, 2) |
rounddown(число,знаків?) | Нөлге қарай дөңгелектеу. | rounddown(-12.349, 2) |
sqrt(число) | Теріс емес санның квадрат түбірі. | sqrt(144) |
power(основа,степінь) | Дәрежеге шығару (дәреже −1000-нан 1000-ға дейін). | power(2, 8) |
mod(число,дільник) | Бөлгіш таңбасымен бөлуден қалған қалдық. | mod(-7, 3) |
sign(число) | Теріс сан үшін −1, нөл үшін 0, оң сан үшін 1. | sign(-12) |
log(число,основа?) | Логарифм; әдепкі негізі 10. | log(1000, 10) |
exp(число) | e санының көрсетілген дәрежесі. | exp(1) |
clamp(число,мінімум,максимум) | Санды берілген аралықпен шектеу. | clamp(120, 0, 100) |
percent(число,відсоток) | Санның көрсетілген пайызы. | percent(200, 15) |
pi() | π саны. | pi() |
concat(значення*) | Мәтіндік мәндерді біріктіру. | concat("Plan", "-", 2026) |
upper(текст) | Бас әріптерге айналдыру. | upper("hello") |
lower(текст) | Кіші әріптерге айналдыру. | lower("HELLO") |
title(текст) | Әр сөзді бас әріптен бастау. | title("hello world") |
trim(текст) | Басы мен соңындағы бос орындарды жою. | trim(" hello ") |
length(текст) | Unicode таңбаларының саны. | length("Київ") |
left(текст,кількість) | Алғашқы N таңба. | left("abcdef", 3) |
right(текст,кількість) | Соңғы N таңба. | right("abcdef", 3) |
mid(текст,позиція,кількість) | Мәтін үзіндісі; алғашқы орын — 1. | mid("abcdef", 2, 3) |
replace(текст,старий,новий) | Ішкі жолдың барлық кездесуін алмастыру. | replace("a-b-c", "-", "/") |
find(шукати,текст,позиція?) | Регистрді ескеретін ішкі жол орны; табылмаса 0. | find("b", "abc") |
search(шукати,текст,позиція?) | Регистрді ескермейтін ішкі жол орны; табылмаса 0. | search("B", "abc") |
contains(текст,частина) | Мәтінде ішкі жол бар-жоғы. | contains("abcdef", "cd") |
starts_with(текст,початок) | Мәтін көрсетілген ішкі жолдан бастала ма. | starts_with("ABC", "A") |
ends_with(текст,кінець) | Мәтін көрсетілген ішкі жолмен аяқтала ма. | ends_with("ABC", "C") |
clean(текст) | Басқару таңбаларын жою. | clean("A\nB") |
repeat(текст,кількість) | Мәтінді 32768 таңба шегінде қайталау. | repeat("0", 3) |
padleft(текст,довжина,символ?) | Сол жақты бір таңбамен, әдепкі бос орынмен толтыру. | padleft("42", 5, "0") |
padright(текст,довжина,символ?) | Оң жақты бір таңбамен толтыру. | padright("42", 5, "0") |
transliterate(текст) | Кирилл/грек мәтінін бірізді транслитерациялау және латын диакритикаларын жою. | transliterate("Київ") |
date(рік,місяць,день) | Жарамды ISO күнтізбелік күнін жасау. | date(2026, 9, 27) |
today() | Бүкіл блокқа бекітілген ағымдағы UTC күні. | today() |
now() | Бүкіл блокқа бекітілген UTC уақыты. | now() |
datevalue(текст,формат?) | Күнді талдау; әдепкі ISO немесе strptime пішімі. | datevalue("27.09.2026", "%d.%m.%Y") |
formatdate(дата,формат) | Күнді пішімдеу; %Y — жыл, %m — ай, %d — күн. | formatdate("2026-09-27", "%d.%m.%Y") |
year(дата) | Күннің жылы. | year("2026-09-27") |
month(дата) | Күннің айы, 1–12. | month("2026-09-27") |
day(дата) | Ай ішіндегі күн. | day("2026-09-27") |
hour(датачас) | UTC сағаты, 0–23. | hour("2026-09-27T12:30:00Z") |
minute(датачас) | Минут, 0–59. | minute("2026-09-27T12:30:00Z") |
second(датачас) | Секунд, 0–59. | second("2026-09-27T12:30:05Z") |
weekday(дата) | ISO апта күні: дүйсенбі — 1, жексенбі — 7. | weekday("2026-09-27") |
weeknum(дата) | ISO апта нөмірі. | weeknum("2026-09-27") |
adddays(дата,днів) | Күнтізбелік күндерді қосу немесе азайту. | adddays("2026-09-27", 7) |
addmonths(дата,місяців) | Айлар бойынша жылжыту; күн ай соңымен шектеледі. | addmonths("2026-01-31", 1) |
datediff(початок,кінець,одиниця?) | Айырма: days, months (толық айлар), years (толық жылдар), hours, minutes, seconds. | datediff("2026-01-01", "2026-02-01", "days") |
eomonth(дата,зсув?) | Ағымдағы немесе жылжытылған айдың соңғы күні. | eomonth("2026-01-15", 1) |
coalesce(значення*) | null да, бос та емес алғашқы мән. | coalesce(None, "", 0, 5) |
ifelse(умова,так,ні) | Кейінге қалдырылған шарт: тек таңдалған тармақ есептеледі. | ifelse(10 > 5, "yes", "no") |
iferror(вираз,заміна) | Есептеу қатесін алмастыру; синтаксис қателері мен жоқ өрістер жасырылмайды. | iferror(10 / 0, 0) |
isblank(значення) | Мән null немесе бос мәтін бе. | isblank("") |
isnumber(значення) | Мән мәтін не логикалық мән емес, сан ба. | isnumber(12.5) |
istext(значення) | Мән мәтін бе. | istext("12") |
and_(умови*) | Барлық шарт ақиқат; қажет болғанша есептеу. | and_(1 > 0, 2 > 1) |
or_(умови*) | Кемінде бір шарт ақиқат; қажет болғанша есептеу. | or_(False, True) |
not_(умова) | Логикалық терістеу. | not_(False) |
Қадамдық баптау
- Өріс қосып, жаңа атау беріңіз.
- field("Name") арқылы сілтеме енгізіңіз немесе өрістер тізімін пайдаланыңыз. Параметрді param("Name") арқылы көрсетіңіз.
- ƒx шеберінде функция таңдап, аргументтерін толтырыңыз және формуланы тексеріңіз.
- Тәуелді өрістерді өздері пайдаланатын өрістерден төмен орналастырыңыз.
- Симуляцияда нөл, бос және жарамсыз мәндерді тексеріңіз.
Ережелер және диагностика
- Бар бағандар қайта жазылмайды; оларды алмастыру үшін «Өріс мәндерін орнату» қолданыңыз.
- Формулаларда ондық нүктені, мәтін үшін тырнақшаларды қолданыңыз. +, −, *, / және % амалдары сандармен жұмыс істейді; мәтін біріктіруге concat пайдаланыңыз.
- Формула әлі есептелмеген өріске сілтей алмайды. SOURCE_COLUMNS_MISSING және PARAMETER_UNKNOWN қолжетімсіз атауларды білдіреді.
- ifelse тек таңдалған тармақты есептейді. Бөлгенде нөлді тексеріңіз немесе күтілетін есептеу қателеріне iferror қолданыңыз.
- Мәтіндік нәтижелер 32768 таңбамен шектеледі; тым күрделі формуланы бірнеше өріске бөліңіз. Ағымдағы уақыт функциялары бүкіл блок үшін бір UTC сәтін қолданады.
Баптау мысалы
Amount = field("Price") * field("Quantity"), содан кейін AmountUAH = round(field("Amount") * param("Rate"), 2) жасаңыз. Орташа баға үшін ifelse(field("Quantity") == 0, 0, field("Amount") / field("Quantity")) қолданыңыз.
Формула редакторы
Редактор формулаларды ерекшелейді, тергенде функциялар, өрістер және параметрлер ұсынады, ағымдағы аргумент кеңесін көрсетеді. Аргумент түсіндірмелері мен есептелген мысал үшін функцияның толық сипаттамасын ашыңыз. «Толық экран» өріс, параметр және функция тізімдері бар үлкен редакторды ашады; «Жинау» панельге қайтарады. Көп жолдық өрнектер және # немесе // жолдық түсіндірмелер қолдау табады. Ctrl/⌘ + / таңдалған жолдардың түсіндірмесін қосады/алады; түсіндірмелер 2048 таңбалық өрнек шегіне кірмейді.
Мәтіннің екі шетінен таңбаларды жою
removeleft(text, count) алғашқы N таңбасы алынған мәтінді қайтарады; removeright(text, count) соңғы N таңбасын жояды. Қалған мәтін өзгермейді. Мысалы, removeleft("UA-001", 3) мына нәтижені береді: 001, ал removeright("report.csv", 4) мына нәтижені береді: report. Бұл мынадан өзгеше: left және right— олар тиісті үзіндіні сақтайды.