Skip To Content

Вычислить поле

Инструмент Вычислить поле вычисляет значения поля для нового или существующего поля. Вы можете использовать функции Arcade для определения выражения вычисления.

Примеры

Инструмент Вычислить поле можно использовать в следующих случаях:

  • Замена пустых значений значениями по умолчанию.
  • Преобразование строкового столбца всех прописных имен в заглавный регистр, используя функцию Arcade Proper, например, JANE SMITH в Jane Smith.
  • Используйте математические функции Arcade для округления значений числового столбца до заданного количества знаков.
  • Чтобы обеспечивалось нулевое заполнение значения почтового индекса путем преобразования целочисленного поля в новое строковое поле, например, 1 в 00001.
  • Чтобы разбить запятыми строку неразделенных почтовых индексов, например, 0051500234 в 00515,00234.

Параметры

В следующей таблице приведены параметры, используемые в инструменте Вычислить поле:

ПараметрОписание

Входной набор данных

Набор данных, для которого будет вычислено поле.

Поле для вычисления

Определяет, будут ли вычисленные значения заменять существующее поле (Существующее поле) или создавать новое поле (Новое поле).

Имя нового поля

Имя нового поля. Этот параметр необходим, если значением Поля для вычисления является Новое поле.

Новый тип поля

Тип нового поля. Этот параметр необходим, если значением Поля для вычисления является Новое поле.

Имя существующего поля

Имя существующего поля, которое нужно заменить вычисляемыми значениями. Этот параметр используется, если значением Поля для вычисления является Существующее поле.

Выражение Arcade

Выражение Arcade, которое будет использоваться для вычисления новых значений.

Примечания по использованию

Используйте параметр Поле для вычисления, чтобы задать, будут ли вычисляться значения для нового поля или для существующего.

Если вы вычисляете значения для нового поля, укажите новое имя поля и укажите новый тип поля, используя параметры Новое имя поля и Новый тип поля. Ниже приведены опции для типа поля:

  • Дата - Вычисляет новое поле типа дата. Поля даты поддерживают значения даты и времени.
  • Double — Вычисляет новое поле типа двойная точность. Поля типа double поддерживают дробные числа приблизительно между -2.2E308 и 1.8E308.
  • Integer – Вычисляет новое поле типа целочисленное. Поля типа integer поддерживают целые числа в диапазоне от -2147483648 до 2147483647.
  • String — Вычисляет новое поле строкового типа. Строковые поля поддерживают строки символов (текст).

Чтобы вычислить значения для существующего поля, выберите поле из входного набора данных. Поле будет возвращено с тем же именем и типом и будет содержать вновь вычисленные значения.

Как для новых, так и для существующих полей введите выражение Arcade, чтобы вычислить новые значения. В диалоговом окне выражения Arcade получите доступ к полям входных наборов данных из списка Переменных профиля или укажите значение, например $record.field_name, в котором field_name - это имя поля. Если поле содержит специальные символы, может потребоваться использовать альтернативный формат для ссылки на это поле. Например, на поле с именем %Employed нельзя ссылаться как $record.%Employed, это является недопустимым синтаксисом. Вместо этого вы должны использовать такой синтаксис, как $record["%Employed"]. Используйте список Функции, чтобы перейти к функциям для построения выражения.

Дополнительные сведения о Arcade см. в разделе ArcGIS Arcade. Чтобы начать использовать Arcade, вы можете поупражняться в построении выражений с помощью ArcadePlayground.

В следующей таблице приведены общие выражения Arcade, используемые в инструменте Вычислить поле:

Общие операцииОписаниеПримерДополнительная информация

Копировать поле

Копирует значения поля источника в целевое поле.

Копирует значения из my_origin_field в новое поле.

return $record.my_origin_field

Установить значение по умолчанию

Устанавливает значения поля по умолчанию.

Заменяет нулевые значения в my_field_name строкой my default value.

if ($record.my_field_name == null) {
    return "my default value"
} else {
    return $record.my_field_name
}

Изменить регистр

Изменяет регистр строки источника.

Переводит значения в my_field_name в верхний или нижний регистр.

// To convert a string to lowercase:
return Lower($record.my_field_name)

// To convert a string to uppercase:
return Upper($record.my_field_name)

Ниже

Выше

Комбинировать значения

Соединяет значения источника в строку.

Объединяет field_1 и field_2, чтобы создать поле. Разделите значения запятой.

var values_to_combine = [
    $record.field_1, 
    $record.field_2
]
var separator = ", "
return Concatenate(values_to_combine, separator)

Соединить

Left

Извлекает символы заданного количества из начала строки.

Возвращает первые три символа каждого значения в my_string_field.

Left($record.my_string_field, 3)

Left

Right

Извлекает символы заданного количества из конца строки.

Возвращает последние три символа каждого значения в my_string_field.

Right($record.my_string_field, 3)

Right

Подстрока

Извлекает набор символов из середины строки.

Возвращает пять символов из my_string_field, начиная с символа 2.

Mid($record.my_string_field, 2, 5)

Средний

Разбить

Разбивает строку на части и верните одну часть.

Разбивает строковое поле на массив на основе разделителя `. Возвращает первую часть.

var parts = Split($record.my_string_field, ',')
return parts[0] // Return the first part

Разбить

Значение условия

Возвращает различные значения на основе условия if/else.

Если значение my_field_name равно 1 для данной записи, возвращает true, в противном случае возвращает false.

if($record.my_field_name == 1) {
    return true
} else {
    return false
}

Найти и заменить

Заменяет все экземпляры значения другим значением.

Заменяет экземпляры search_value в my_field_name на new_value.

var search_value = "my old string"
var new_value = "my new string"
if($record.my_field_name == search_value){
    return new_value
} else {
    return $record.my_field_name
}

Замена

Доступ к вложенным значениям

Возвращает вложенное значение из поля структуры.

Возвращает значение для ключа myKey в поле структуры с именем my_struct_field.

var nested_value = $record.my_struct_field.myKey
return nested_value

Проверить, что ключ существует

Возвращает true или false в зависимости от наличия указанного ключа.

Возвращает true, если ключ myKey существует в поле структуры с именем struct_field, возвращает false, если этого ключа нет.

return HasValue($record.struct_field, 'myKey')

HasValue

Получение значений с помощью ключа или установка значения по умолчанию, если значение ключа не существует

Возвращает значения заданного ключа или значение по умолчанию, если ключ не существует.

Возвращает значение ключа, если ключ myKey существует в поле структуры с именем struct_field, возвращает значение по умолчанию MyDefault, если этот ключ не существует.

return DefaultValue($record.struct_field, 
                                  ['myKey'],
                                  'MyDefault')

Выходные данные

Результатом этого инструмента является набор данных, все поля которого взяты из входного набора данных, а также вычисленные значения полей.

Ограничения

Ниже перечислены известные ограничения инструмента Вычислить поле:

  • За один запуск инструмента можно вычислить только одно поле.
  • Существующий тип поля не может быть изменен. Используйте инструмент Обновить поле, чтобы обновить существующее поле до нового типа.
  • Вычисления геометрии не поддерживаются. Вместо этого используйте инструмент Создать геометрию.

Лицензионные требования

Требуется следующее лицензии и конфигурации:

  • Тип пользователя Creator или GIS Professional
  • Роль Издатель, Посредник или Администратор, или эквивалентная пользовательская роль

Подробнее о системных требованиях Data Pipelines см. раздел Требования