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

Ключ

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

Функция преобразования SQL-запросов открывает возможности для выполнения операций, которые не предусмотрены стандартными инструментами.

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

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

    settings.pngImage Added
  2. Как видно, наша таблица загрузилась в модуль преобразований данных:

    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. Нажмите Добавить запрос, чтобы добавить результирующую таблицу в модель данных. Таблица отобразится в списке доступных таблиц:

    final.pngImage Added


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

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

    button.png

  2. В открывшемся диалоге укажите название преобразования и введите 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.png

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

    final-result.png

  4. Если результат вас устраивает и никакие трансформации больше не нужны, нажмите кнопку Добавить запрос, чтобы добавить преобразованную таблицу в модель данных:

    added-table.png

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

edit.png
Примечание

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


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

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

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


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

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