Язык изменения данных
Язык изменения данных используется для определения функций с целью изменения данных в Tracking Analyst. При выполнении действия функция изменяет блок данных. Любая функция, определенная с помощью языка изменения данных, содержит значения полей блока данных в качестве входных данных. Функция использует все поля с поддерживаемыми типами данных. В результате функция заменяет значения в одном или нескольких полях блока данных. Для выполнения вычислений в языке используются простые арифметические команды, а также некоторые сложные математические функции.
Структура языка изменения данных
В последующих разделах приведены сведения, необходимые для эффективного применения языка изменения данных.
Поддерживаемые типы данных
Существует несколько основных типов данных, которые поддерживает язык:
- Целые числа (например: 14)
- Действительные числа (например: 3,1452)
- Текст (например: Андерсон)
- Даты (например: 12/12/2009)
Все переменные, определенные в функции, относятся к одному из перечисленных типов данных.
Переменные
При запуске функции все поля в блоке данных представлены в виде переменных с именем поля. Другие переменные впервые создаются при обращении к ним. Например, данное выражение создает новую переменную:
NewLatitude = OldLatitude
Если переменная NewLatitude не существует и ранее не использовалась, она будет создана в том же типе данных, что и переменная OldLatitude. Имейте в виду, что изменение значения одной из переменных блока данных не влияет на значение сообщения. Обратитесь к разделу «Выражение замены», чтобы узнать, как это сделать.
Выбор регистра имеет значение для имен переменных, поэтому следует очень внимательно проверять заглавные буквы в названиях полей функции. Необходимо также соблюдать последовательность при использовании заглавных букв в определенных переменных.
Основные выражение присвоения
Выражения присвоения задают значение переменной другой переменной или выражению. Знак равенства ( = ) отделяет переменную от источника. Выражения в языке изменения данных схожи с выражениями из других языков программирования и могут содержать переменные, разделенные математическими операторами (+, -, *, /). Круглые скобки применяются для определения порядка вычисления операторов. Ниже приведены примеры допустимых выражений присвоения:
- NewLatitude = OldLatitude (создание новой переменной с присвоением существующего значения)
- TempString = "This is a string" (прямое присвоение переменной значения)
- A = B * 5,56 (присвоение переменной результату математического действия, содержащего другую переменную)
- Result = (4 * A) + 6 * (C + D) (присвоение переменной результату более сложного математического действия с несколькими переменными)
Математические функции
Некоторые функции способны выполнять стандартные математические действия и операции управления формой. Ниже приведен список доступных функций:
- Arcsin (арксинус)
- Arccos (арккосинус)
- Arctan (арктангенс)
- Sin (синус)
- Cos (косинус)
- Tan (тангенс)
Выражение замены
Выражение замены служит для изменения полей в блоке данных. Ниже приведены несколько примеров применения выражения замены:
- Заменить MSG_LAT на NewLatitude
- Заменить WIND_SPD_MPH на WindSpeedKPH * 1,609
Комментарии
Комментарии позволяют пользователю добавить в функцию текстовое описание, не влияя на ее результат. Для обозначения комментариев в языке изменения данных используется несколько знаков:
- //
- !
- REM
- '
Пример функции
Следующий пример функции используется в начале работы:
Эта функция переводит значения широты и долготы в блоке данных из десятичных градусов в десятичные секунды.
// Copy Data Message Fields
OldLatitude = MSG_LAT
OldLongitude = MSG_LON
// Perform Conversion
NewLatitude = OldLatitude * 60.0
NewLongitude = OldLongitude * 60.0
// Change Data Message
Replace MSG_LAT with NewLatitude
Replace MSG_LON with NewLongitude
// End