SQL-преобразование
Инструмент «SQL-преобразование» предоставляет возможность выполнять сложные операции, недоступные через стандартные средства.
Предположим, вам нужно загрузить две таблицы из разных источников, объединить их с помощью SQL-запроса и выполнить расчеты на основе данных обеих таблиц. Вот как это можно реализовать:
Сначала мы подключим JDBC таблицу, и после заполнения всех полей запроса, нажмем Преобразовать данные в нижней части окна, чтобы перейти в модуль преобразования данных:
В окне преобразования данных ETL отображается запрос, загруженный из JDBC источника:
Теперь загрузим вторую таблицу, теперь уже из CSV-файла. Для этого нажмем Данные > Новый источник данных и выберем в качестве источника CSV-файл:
На странице предпросмотра нажмём кнопку Добавить. Таблица появится в панели Запросы:
Теперь, имея данные двух таблиц, мы можем воспользоваться SQL-запросом, который произведет объединение запросов, рассчитает нужную нам информацию (общий доход, среднюю сумму дохода и количество продаж для каждого уникального продукта) и отсортирует ее по общему доходу. Для этого необходимо сделать следующее:
Нажать кнопку SQL-преобразование в панели инструментов:
В открывшемся диалоге ввести название преобразования, SQL-запрос и нажать Добавить преобразование:
Обратите внимание, что названия таблиц помещаются в фигурные скобки.
Результат вычислений отобразится в области предварительного просмотра:
После выполнения всех необходимых преобразований нажмите кнопку Добавить запрос, чтобы добавить результирующую таблицу в модель данных. Таблица отобразится в списке доступных таблиц:
Если потребуется выполнить дополнительные преобразования, нажмите напротив названия таблицы и выберите пункт Изменить запрос в выпадающем меню. Откроется окно преобразований данных, где вы сможете внести необходимые изменения:
Если изменятся исходные данные в подключенном источнике, то всё, что было настроено в процессе преобразования, также обновится. Также при необходимости использовать кавычки в запросе необходимо использовать двойные кавычки.
Пример
Аналогичным образом вы можете выполнить любые операции. Рассмотрим еще один пример.
Допустим, у вас есть таблица клиентов (NewClients), содержащая отдельные поля для имени (firstname) и фамилии (lastname). Вам нужно объединить их в один столбец полного имени (fullname) и вывести этот столбец в отдельную таблицу вместе со столбцами customerkey, gender, maritalstatus и geographykey. Для этого необходимо использовать следующий запрос:
SELECT "customerkey", "firstname" || ' ' || "lastname" AS fullname, "gender", "maritalstatus", "geographykey"
FROM {NewClients};Пример результата:
Смотрите также