Процессор вычисления полей
Добавляет новые поля на основе выражений скрипта Qlik.
Процессор Вычисление полей позволяет создавать новые поля в схеме данных и заполнять каждое из них с помощью выражений скрипта Qlik. Скрипт может использовать любые элементы из входной схемы, что позволяет применять комбинации или преобразованные версии существующих полей.
Использование
-
Для работы процессора вычисления полей требуется один входящий поток данных, при этом он может генерировать только один исходящий поток данных.
-
Нажмите значок + на панели настройки процессора, чтобы создать несколько вычисляемых полей.
Ограничения
-
Процессор вычисления полей выполняет выражения в контексте скрипта загрузки. Функции агрегирования, такие как
firstSortedValue,sum,avgиcount, не работают в этом процессоре, поскольку он обрабатывает каждую строку индивидуально, а не в рамках агрегирования GROUP BY. Для использования функций агрегирования см. Процессор Aggregate (Агрегировать). -
Функции, предназначенные для диаграмм, не работают в этом процессоре, так как он работает в слое загрузки данных.
-
В настоящее время невозможно создать новое поле и сослаться на него внутри того же процессора вычисления полей. Рекомендуется использовать два разных процессора.
Свойства
Свойства, которые необходимо настроить для вычисления новых полей.
| Свойство | Настройка |
|---|---|
| Name | Укажите пользовательское имя для вновь созданного поля. |
| Expression | Введите выражение скрипта Qlik в поле, чтобы задать значения нового поля. Для получения дополнительной информации о синтаксисе скрипта Qlik см. раздел Синтаксис скрипта и функции диаграмм. |
| Open editor | Используйте этот параметр, чтобы открыть более мощный редактор скриптов, в котором доступны инструменты для более простого построения выражений. Для получения дополнительной информации см. Использование редактора выражений. |
Чтобы переименовать процессор или изменить его описание, наведите указатель мыши на имя или описание, которое требуется изменить, на панели Properties и нажмите значок Edit.
Использование редактора выражений
При нажатии кнопки Open editor на панели настройки открывается Expression editor — мощный редактор скриптов, помогающий создавать новые поля. С его помощью можно легко вставлять имена полей или функции, открывать документацию и проверять правильность выражений.
На левой панели можно просмотреть поле, загруженное в данный момент в поток данных, и ознакомиться с широким спектром функций скрипта Qlik. Эта панель разделена на две вкладки:
-
Вкладка Fields, на которой перечислены поля, доступные на данном этапе потока данных. Наведите указатель мыши на любое имя поля и нажмите +, чтобы вставить его непосредственно в выражение.
-
Вкладка Functions, где можно просматривать функции Qlik. Для поиска конкретной функции можно использовать поле поиска или отфильтровать их с помощью раскрывающегося списка Function category.
Наведите указатель мыши на любую функцию и нажмите +, чтобы вставить ее непосредственно в выражение.
-
Если включить переключатель Explainer guide, при нажатии на функцию будет отображаться краткое описание и ссылка на документацию.
На верхней панели можно включить или отключить три инструмента, которые помогают и направляют вас при написании скрипта, а также кнопки отмены и повтора действий для исправления возможных ошибок.
-
Search and replace — для автоматического поиска определенных значений и их замены при необходимости.
-
Help mode — для превращения любой функции, написанной в скрипте, в кликабельную ссылку, ведущую к документации.
-
Autocomplete — для отображения предложений по мере ввода текста с кратким описанием и примером функции.
На нижней панели описываются любые потенциальные ошибки в скрипте, такие как неверные имена полей или недопустимые выражения.
Когда на панели состояния отображается зеленый индикатор Ok, выражение является допустимым. Нажмите Confirm, чтобы использовать это выражение для вычисляемого поля и вернуться в редактор потока данных. После этого можно подтвердить конфигурацию процессора.
Примеры
-
Установка инкрементного значения для использования в качестве идентификатора строк нового поля:
RecNo()Для получения дополнительной информации см. раздел Counter functions.
-
Использование условий if/then/else. В этом примере загружены данные о температуре, и требуется добавить дополнительную информацию в зависимости от значений:
If(Temperature <= 0 , 'Freezing', If(Temperature >= 100, 'Boiling', If(Temperature >0 AND Temperature < 100, 'Between')))Для получения дополнительной информации см. раздел if — функция скрипта и диаграммы.
-
Выполнение нескольких математических операций в одном процессоре. В наборе данных, содержащем поля с количеством проданных единиц, а также ценой за единицу и себестоимостью единицы, можно создать два новых поля для общего дохода и общей стоимости.
-
В первом поле введите total_revenue в качестве имени нового поля и следующее выражение:
[Units Sold] * [Unit Price] -
Нажмите значок + на панели настройки процессора, чтобы создать еще одно вычисляемое поле.
-
Во втором поле введите total_cost в качестве имени нового поля и следующее выражение:
[Units Sold] * [Unit Cost]
-
Другие примеры выражений скрипта см. в разделах Regular statements и Script and chart functions.