Функции

Общая форма вызова функции:

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")

Шаблоны даты - символьные строки, которые содержат комбинацию поля шаблона и буквенного текста. Смотрите: Форматы даты

Применение

Функция Описание
IN(y, x1, ... xn) Функция IN (В) берет по меньшей мере 2 параметра, первый - это значение, которое сравнивается. Другие параметры - это значения, с которыми производится сравнение. Если есть совпадение, функция выдает логическое TRUE (верно). Например:
RANDOM() Создает случайное значение. Если параметров нет, созданное число находится в диапазоне [0,1]. Один параметр определяет максимум, а созданное число находится в диапазоне [0, max]. Два параметра определяют минимум и максимум, а созданное число находится в диапазоне [min, max].
RGB(r,g,b) Возвращает значение RGB из отдельных значений красного, зеленого и синего цветов, указанных в виде целых чисел от 0 до 255.
  Эта функция необходима для назначения цветов непосредственно в файлы Micromine DATA, особенно когда речь идет о облаках точек XYZ + RGB.
DEFINED(x) (т.е. ОПРЕД(x)) х – переменное значение. Проверить, задана ли переменная (x существует и ему было присвоено значение, которое не является неопределенным (NIL или BLANK).
EVAL(text) Оценивает текст как выражение и возвращает результат. Если выражение не может быть оценено, возвращается значение ПУСТОЕ

Единицы измерения

В панели Функции Редактора выражений представлены следующие категории единиц:

Разверните категорию, чтобы выбрать единицы измерения, которые вы хотите применить к числовым значениям в вашем выражении:

Длина

Площадь

Объем

Масса

Пропорции

Энергия

Плотность

Содержание

Валюта

Скаляр

КОЛИЧЕСТВО

Подсказки

  1. Точно знайте тип преобразования в вашем выражении. Запомните, что кроме нескольких исключений, тип результата соответствует типу левого операнда выражения. Поэтому обратите внимание на то, что “5” + 5 будет равно “55”, а не 10. Учтите, что если какой-либо оператор не определен, результат выражения также будет неопределенным.
  2. Запомните, что тип переменной соответствует типу соответствующего поля в файле.
  3. Имена функции и переменной, на которые имеется ссылка в выражении, совпадают, только если они действительно необходимы для получения значения в результате. Используйте функцию DEFINED (т.е. ОПРЕДЕЛЕНО), чтобы гарантировать наличие переменной, которая имеет значение, перед тем как установить на неё ссылку. Выражение 2 + MCAF является ненадежным, поскольку MCAF может не существовать вообще или у него может не быть значения.
  4. Вместо этого используйте следующее выражение: 2 + if DEFINED (MCAF) then MCAF else <некое_определенное_значение> fi.

  1. Для верного порядка вычисления используйте круглые скобки.
  2. Запомните, что ВСЕ части оператора 'if' являются обязательными. Не забудьте поставить маркер 'fi' в конце условного оператора.