Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Функция преобразования SQL-запросов открывает возможности для выполнения любых операций, которые не предусмотрены стандартными инструментами. Допустим, у вас есть таблица Продажи с данными о продажах по нескольким странам, и вы хотите отобразить в отдельных колонках данные о всех проданных товарах и информацию об общей прибыли. При этом вы хотите сгруппировать данные по странам и отобразить их в порядке убывания. Для этого вы можете сделать следующее:

  • Нажмите кнопку SQL-преобразование:

    button.pngImage Removed

  • В открывшемся диалоге укажите название преобразования и введите SQL-запрос. В нашем примере мы будем использовать следующий запрос:

    Блок кода
    languagesql
    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" – группирует данные по странам, чтобы суммировать данные отдельно для каждой страны.

    • ORDER BY "Total_Profit" DESC – упорядочивает результаты по общей прибыли в порядке убывания, благодаря чему страны с наибольшей прибылью оказываются вверху списка.

      formula.pngImage Removed

  • Нажмите Добавить преобразование. В итоговой таблице отобразятся результаты трансформации:

    final-result.pngImage Removed

  • Если результат вас устраивает и никакие трансформации больше не нужны,

    Инструмент «SQL-преобразование» предоставляет возможность выполнять сложные операции, недоступные через стандартные средства.

    Предположим, вам нужно загрузить две таблицы из разных источников, объединить их с помощью SQL-запроса и выполнить расчеты на основе данных обеих таблиц. Вот как это можно реализовать:

    1. Сначала мы подключим JDBC таблицу, и после заполнения всех полей запроса, нажмем Преобразовать данные в нижней части окна, чтобы перейти в модуль преобразования данных:

      settings.pngImage Added

    2. В окне преобразования данных ETL отображается запрос, загруженный из JDBC источника:

      table.pngImage Added

    3. Теперь загрузим вторую таблицу, теперь уже из CSV-файла. Для этого нажмем Данные > Новый источник данных и выберем в качестве источника CSV-файл:

      csv.pngImage Added

    4. На странице предпросмотра нажмём кнопку Добавить. Таблица появится в панели Запросы:

      loaded.pngImage Added

    Теперь, имея данные двух таблиц, мы можем воспользоваться SQL-запросом, который произведет объединение запросов, рассчитает нужную нам информацию (общий доход, среднюю сумму дохода и количество продаж для каждого уникального продукта) и отсортирует ее по общему доходу. Для этого необходимо сделать следующее:

    1. Нажать кнопку SQL-преобразование в панели инструментов:

      sql.pngImage Added

    2. В открывшемся диалоге ввести название преобразования, SQL-запрос и нажать Добавить преобразование:

      sql-request.pngImage Added
    3. Результат вычислений отобразится в области предварительного просмотра:

      results.pngImage Added

    4. После выполнения всех необходимых преобразований нажмите кнопку Добавить запрос, чтобы добавить преобразованную результирующую таблицу в модель данных. Таблица отобразится в списке доступных таблиц:

      added-table.pngImage Removedfinal.pngImage Added

    (информация) Если потребуется выполнить дополнительные преобразования, нажмите (синяя звезда) напротив названия таблицы и выберите пункт Изменить запрос в выпадающем меню. Откроется окно преобразований данных, где вы сможете внести необходимые изменения:

    edit.pngImage Removededit2.pngImage Added
    Примечание

    Если изменятся исходные данные в подключенном источнике, то всё, что было настроено в процессе преобразования, также обновится.


    Смотрите также

    📄 Загрузка данных и настройка модели данных

    🕑 Время чтения: 1 мин.


    Нужна дополнительная помощь?

    Свяжитесь с технической поддержкой.