Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Функция преобразования SQL-запросов открывает возможности для выполнения операций, которые не предусмотрены стандартными инструментами. Допустим, у вас есть таблица Продажи с данными о продажах по нескольким странам, и вы хотите отобразить в отдельных колонках данные о всех проданных товарах и информацию об общей прибыли. При этом вы хотите сгруппировать данные по странам и отобразить их в порядке убывания. Для этого вы можете сделать следующее:
Нажмите кнопку SQL-преобразование:
В открывшемся диалоге укажите название преобразования и введите SQL-запрос. В нашем примере мы будем использовать следующий запрос:
Блок кода | ||
---|---|---|
| ||
SELECT
"Country",
SUM("Units Sold") AS "Total_Units_Sold",
SUM("Profit") AS "Total_Profit"
FROM
{Продажи}
GROUP BY
"Country"
ORDER BY
"Total_Profit" DESC; |
где
SELECT "Country", SUM("Units Sold") AS "Total_Units_Sold", SUM("Profit") AS "Total_Profit"
– извлекает данные по странам (Country
), а также производит суммирование общего количества проданных единиц (Units Sold
) и общей прибыли (Profit
). Суммарные значения названы соответственно:Total_Units_Sold
иTotal_Profit
.FROM {Продажи}
– указывает, что данные берутся из таблицы с название "Продажи".GROUP BY "Country"
– группирует данные по странам, чтобы суммировать данные отдельно для каждой страны.
Image RemovedORDER BY "Total_Profit" DESC
– упорядочивает результаты по общей прибыли в порядке убывания, благодаря чему страны с наибольшей прибылью оказываются вверху списка.
Нажмите Добавить преобразование. В итоговой таблице отобразятся результаты трансформации:
Инструмент «SQL-преобразование» предоставляет возможность выполнять сложные операции, недоступные через стандартные средства.
Предположим, вам нужно загрузить две таблицы из разных источников, объединить их с помощью SQL-запроса и выполнить расчеты на основе данных обеих таблиц. Вот как это можно реализовать:
Сначала мы подключим JDBC таблицу, и после заполнения всех полей запроса, нажмем Преобразовать данные в нижней части окна, чтобы перейти в модуль преобразования данных:
Image AddedВ окне преобразования данных ETL отображается запрос, загруженный из JDBC источника:
Image AddedТеперь загрузим вторую таблицу, теперь уже из CSV-файла. Для этого нажмем Данные > Новый источник данных и выберем в качестве источника CSV-файл:
Image AddedНа странице предпросмотра нажмём кнопку Добавить. Таблица появится в панели Запросы:
Image Added
Теперь, имея данные двух таблиц, мы можем воспользоваться SQL-запросом, который произведет объединение запросов, рассчитает нужную нам информацию (общий доход, среднюю сумму дохода и количество продаж для каждого уникального продукта) и отсортирует ее по общему доходу. Для этого необходимо сделать следующее:
Нажать кнопку SQL-преобразование в панели инструментов:
Image AddedВ открывшемся диалоге ввести название преобразования, SQL-запрос и нажать Добавить преобразование:
Image AddedРезультат вычислений отобразится в области предварительного просмотра:
Image AddedПосле выполнения всех необходимых преобразований нажмите кнопку Добавить запрос, чтобы добавить преобразованную результирующую таблицу в модель данных. Таблица отобразится в списке доступных таблиц:
Image RemovedImage Added
Если потребуется выполнить дополнительные преобразования, нажмите напротив названия таблицы и выберите пункт Изменить запрос в выпадающем меню. Откроется окно преобразований данных, где вы сможете внести необходимые изменения:
Image RemovedImage AddedПримечание |
---|
Если изменятся исходные данные в подключенном источнике, то всё, что было настроено в процессе преобразования, также обновится. |
Смотрите также