Функции
Общая форма вызова функции:
FUNCTION (<парам1>, <парам2>, ... <парамN>)
Доступные функции сгруппированы следующим образом:
Математика
Функция | Описание |
---|---|
EXP(x) | Выдает АНТИЛОГАРИФМ ПО ОСНОВАНИЮ Е для х. |
EXP10(x) | Выдает АНТИЛОГАРИФМ ПО ОСНОВАНИЮ 10 для х. |
LN(x) | Выдает натуральный логарифм х. |
LOG10(x) | Выдает основание-10 логарифма х. |
SQRT(x) | Вычисляет квадратный корень х. Если х не задано, выдает неопределённое значение. |
MIN(x1, x2, ... xn) | Выдает минимальное определенное значение всех аргументов. Если ни один аргумент не является заданным значением, выдает неопределенное значение. |
MAX(x1, x2, ... xn) | Выдает максимальное определенное значение всех аргументов. Если ни один аргумент не является заданным значением, выдает неопределенное значение. |
CUTHIGHS(x,y) | Выдает y, если x больше чем y. В противном случае выдает x. |
ABS(x) | Выдает абсолютное значение х. Если х не задано, выдает неопределённое значение. |
INT(x) | Выдает целую часть числа. Если х не задано, выдает неопределённое значение. |
ROUND(x, n) | Округляет значение х до n знаков после запятой. Если либо х, либо n не определено, выдает неопределенное значение. |
ROUNDSIG(x, n) | Округляет значение x до заданного числа (n) значащих цифр. |
Тригонометрические
Для тригонометрических функций ожидается, что значения ввода будут в градусах и десятичных градуса (ГГГ.ГГГГ), результат будет в этом виде.
Функция | Описание |
---|---|
SIN(x) | Выдает синус х. |
COS(x) | Выдает косинус х. |
TAN(x) | Выдает тангенс х. |
ASIN(x) | Выдает арксинус х. |
ACOS(x) | Выдает арккосинус х. |
ATAN(x) | Выдает арктангенс х. |
ATAN2(y, x) | Выдает арктангенс y/x. (если x равно 0, ATAN2 выдает 180 если y положительный, -180. если y отрицательный, или 0 если y равен 0.) Если либо x, либо y не определен, выдает неопределенное значение. |
ADDANGLE(x1, x2, ... xn) | Добавляет все переданные параметры, обеспечивает нахождение результата в диапазоне [0, 360). |
SUBANGLE(x1, x2, ... xn) | Вычитает все переданные параметры, обеспечивает нахождение результата в диапазоне [0, 360). |
DMS2DEG(x) | Преобразовывает угол в формате DMS (x) в десятичные градусов. |
DEG2DMS(x) | Преобразовывает угол в формате десятичных градуса (x) в формат DMS. |
Форматирование чисел
Функция | Описание |
---|---|
FIXED(x, n) | Форматирует значение x для заданного числа (n) десятичных знаков и возвращает его в виде текста. |
NUMFORMAT_LOCALE(x), NUMFORMAT_LOCALE(x, n) | Возвращает x в виде текста на n десятичных знаков, отформатированных с использованием текущих настроек языковых стандартов. |
NUMFORMAT_WORDS(x) | Возвращает x как прописанные слова. Например: 135 становится «сто тридцать четыре». |
NUMFORMAT_ORDINAL(x) | Возвращает x как текст порядкового номера. Например: 134 становится «134й». |
Текст
Функция | Описание |
---|---|
LEFT(text, n) | Выдает крайние левые символы <n> текстовой строки. |
RIGHT | Выдает крайние правые символы <n> текстовой строки. |
SUBSTR(text, m), SUBSTR(text, m, n) | Выдает n (или все) символов, начиная с индекса m (с основанием 0). |
TRIM(text) | Возвращает текст с пробелами, удаленными из начала и конца текстовой строки. |
REVERSE(text) | Возвращает текст в обратном порядке символов. |
REPLACE(text, findStr, replaceStr) | Возвращает текст, в котором все появления findStr заменены на replaceStr. |
UPPER(text) | Возвращает текст в верхнем регистре. |
LOWER(text) | Возвращает текст в нижнем регистре. |
TITLE(text) | Возвращает текст в заглавном регистре. |
LENGTH(text) | Возвращает количество символов в текстовой строке. |
MATCH(text, match) | Возвращает true, если текст соответствует строке. В строке соответствия могут использоваться стандартные знаки подстановок Micromine. Смотрите: Знаки подстановки |
MATCH_REGEX(text, regex) | Возвращает true, если текст соответствует регулярному выражению. Использует синтаксис регулярного выражения Perl. Смотрите: Регулярные выражения |
MATCH_ALL(text, match 1, match 2, ... match n) | Выдает "верно", если текст совпадает со ВСЕМИ последующими строками соответствия. В строке соответствия могут использоваться стандартные знаки подстановок Micromine. Смотрите: Знаки подстановки |
MATCH_ANY(text, match 1, match 2, ... match n) | Выдает "верно", если текст совпадает с ЛЮБОЙ из последующих строк соответствия. В строке соответствия могут использоваться стандартные знаки подстановок Micromine. Смотрите: Знаки подстановки |
STARTSWITH(text, str) | Возвращает true, если текст начинается с str. |
ENDSWITH(text, str) | Возвращает true, если текст заканчивается на str. |
INDEXOF(text, str), INDEXOF(text, str, m) | Возвращает позицию символа (на основе 0) строки в тексте, начиная с начала или с индекса m. |
Дата
Функция | Описание |
---|---|
TODAY() | Возвращает текущую дату / время. |
TODATE(y,m,d), TODATE(y,m,d,h,n,s) | Создает дату с указанием года, месяца и дня. При желании укажите время с часами, минутами и секундами. |
TODATE(str) | Анализирует str как дату. Выдает NIL, если не удалось. |
TODATE(str,format) | Анализирует str как дату, используя строку формата. Выдает NIL, если не удалось. Смотрите Преобразование формата даты ниже. |
DATE(date) | Возвращает строку даты в формате локали. |
TIME(date) | Возвращает локальную отформатированную строку времени. |
DATETIME(date) | Возвращает строку даты и времени в формате локали. |
FORMATDATE(date, format) | Возвращает отформатированную строку даты и времени, как определено строкой форматирования, см. ниже Форматы даты |
WEEKDAY(date) | Возвращает количество дней в неделе, на которое попадает данная дата. (0=Sunday, 6=Saturday) |
WEEKDAYNAME(date) | Возвращает название дней недели, на которые приходится данная дата. e.g. "Monday" |
MONTH(date) | Возвращает номер месяца, в который входит данная дата. (1 = январь, 12 = декабрь) |
MONTHNAME(date) | Возвращает название месяца, к которому относится данная дата. Например, «Июнь» |
YEAR(date) | Возвращает год, к которому относится данная дата. Например, "1952" |
YEARDECIMAL(date) | Возвращает десятичный год, который описывает дату, где дробная часть - это расстояние до года. например "1952.23" |
ADDDAYS(date,n) | Добавляет количество дней к указанной дате. |
ADDMONTHS(date,n) | Добавляет количество месяцев к указанной дате. |
ADDYEARS(date,n) | Добавляет количество лет к указанной дате. |
DAYSBETWEEN(date1,date2) | Возвращает количество дней между двумя датами. |
MONTHSBETWEEN(date1,date2) | Возвращает количество месяцев между двумя датами. |
YEARSBETWEEN(date1,date2) | Возвращает количество лет между двумя датами. |
Преобразование формата даты
Функция PARSEDATE_ADV анализирует строку как дату, используя строку формата, например:
PARSEDATE_ADV("19/08/02","YYY/MMM/dd")
Функция возвращает дату указанного формата или возвращает BLANK в случае сбоя. Чтобы преобразовать форматы дат в старом стиле, используйте выражения, показанные в следующей таблице:
Старый формат | Выражение |
---|---|
YYYYMMDD | =PARSEDATE_ADV([DATE], "yyyyMMdd") |
DD/MM/YYYY | =PARSEDATE_ADV([DATE],"dd/MM/yyyy") |
MM/DD/YYYY | =PARSEDATE_ADV([DATE],"MM/dd/yyyy") |
DD MM YYYY | =PARSEDATE_ADV([DATE],"dd MM yyyy") |
Форматы даты
Функция FORMATDATE выдает форматированную строку даты-времени, как задано в шаблоне формата даты. Например:
FORMATDATE(TODAY(),"dd/MM/YY")
Шаблоны даты - символьные строки, которые содержат комбинацию поля шаблона и буквенного текста. Смотрите: Форматы даты
Применение
Единицы измерения
В панели Функции Редактора выражений представлены следующие категории единиц:
Разверните категорию, чтобы выбрать единицы измерения, которые вы хотите применить к числовым значениям в вашем выражении:
Подсказки
- Точно знайте тип преобразования в вашем выражении. Запомните, что кроме нескольких исключений, тип результата соответствует типу левого операнда выражения. Поэтому обратите внимание на то, что “5” + 5 будет равно “55”, а не 10. Учтите, что если какой-либо оператор не определен, результат выражения также будет неопределенным.
- Запомните, что тип переменной соответствует типу соответствующего поля в файле.
- Имена функции и переменной, на которые имеется ссылка в выражении, совпадают, только если они действительно необходимы для получения значения в результате. Используйте функцию DEFINED (т.е. ОПРЕДЕЛЕНО), чтобы гарантировать наличие переменной, которая имеет значение, перед тем как установить на неё ссылку. Выражение 2 + MCAF является ненадежным, поскольку MCAF может не существовать вообще или у него может не быть значения.
Вместо этого используйте следующее выражение: 2 + if DEFINED (MCAF) then MCAF else <некое_определенное_значение> fi.
- Для верного порядка вычисления используйте круглые скобки.
- Запомните, что ВСЕ части оператора 'if' являются обязательными. Не забудьте поставить маркер 'fi' в конце условного оператора.