Шаг 2. Построение логической модели
Для объединения данных из нескольких источников, их обработки и создания витрины, которую в последующем планируется визуализировать, необходимо построить логическую модель данных.

Для этого нужно:
1
Перейти в раздел «Модели»
2
Создать новую логическую модель, выбрав кнопку «Добавить»‎, и ввести наименование
3
Добавить источники данных, созданные на предыдущем этапе: с помощью кнопки «+» можно выбрать сразу все необходимые источники
4
Подключенные источники с типом Файл отображаются в виде Источник – Книга – Лист
5
По очереди перетащить лист default источника «Вакансии за Март»‎ и лист default источника «Вакансии за Апрель»‎ в область диаграммы и соединить их с помощью функции UNION ALL
Если вы внимательно изучили файлы, то обратили внимание, что не все зарплатные предложения указаны в рублях, поэтому потребуется еще одна таблица с указанием курсов валют и последующая конвертация сумм в рубли.

С помощью drag-and-drop добавьте таблицу «Курс валют» в область диаграммы и соедините c таблицей вакансий при помощи функции LEFT JOIN по полям valuta и valuta__kod — эти поля система создала автоматически, прописав русские наименования столбцов английскими буквами.

На видео видно, насколько просто это выполнить в системе:
Поскольку в таблице «Курс валют» номинал не везде указан в единичном формате, необходимо привести его к единому виду. Это можно сделать с помощью вычисляемого поля, значения в котором будут заполняться SQL-запросом.

Для создания вычисляемого поля необходимо выполнить следующие шаги:
1
Добавить новое вычисляемое поле в меню слева или из области превью
2
Ввести алиас и наименование поля в модели, а также указать тип данных (в данном случае будет дробное число)
3
Написать SQL-запрос. При создании формулы важно учитывать, что для указания нужного поля перед его наименованием должно быть указано наименование таблицы, в которой это поле находится, и запрос будет относиться к конкретным метаданным указанной таблицы, поэтому оператор SELECT FROM не потребуется. Наименование таблицы можно посмотреть в разделе «Описание таблиц».
В запросе необходимо прописать, что номинал валюты не должен быть равен нулю или иметь пустое значение, а также задать формулу: курс/номинал. Скорее всего, многие легко смогут написать этот запрос самостоятельно, однако мы оставим его тут для самопроверки
CASE WHEN nominal IS NOT NULL
AND nominal <> 0 THEN kurs/nominal ELSE 0 END
4
Сохранить. Новое поле отобразится в конце таблицы.
Саму конвертацию в рубли можно также реализовать через создание нового вычисляемого поля, а в данном примере их будет два — для минимальной и максимальной зарплаты для каждой вакансии.

Здесь пример запроса для конвертации минимальной заработной платы.
CASE WHEN valuta <> 'RUR'
AND minimalnaa_zarplata IS NOT NULL
AND nominal IS NOT NULL
AND nominal <> 0 THEN minimalnaa_zarplata *(kurs/nominal) WHEN valuta = 'RUR'
AND minimalnaa_zarplata IS NOT NULL THEN minimalnaa_zarplata ELSE 0 END
А для максимальной заработной платы будет аналогичный запрос, отличающийся на одно поле.

Кроме всего прочего, для аналитики по вакансиям будет полезен размер средней заработной платы. При расчете этого поля необходимо учесть, что не все вакансии содержат информацию о зарплатах, а также влияние типа валют и необходимость выполнения конвертации, если тип валюты отличен от рубля.
((CASE WHEN valuta <>'RUR' AND minimalnaa_zarplata IS NOT NULL
AND nominal IS NOT NULL
AND nominal<>0 THEN minimalnaa_zarplata*(kurs/nominal) WHEN valuta ='RUR'
AND minimalnaa_zarplata IS NOT NULL THEN minimalnaa_zarplata ELSE 0 END) +
(CASE WHEN valuta<>'RUR' AND maksimalnaa_zarplata IS NOT NULL
AND nominal IS NOT NULL
AND nominal<>0 THEN maksimalnaa_zarplata *(kurs/nominal) WHEN valuta = 'RUR'
AND maksimalnaa_zarplata IS NOT NULL THEN maksimalnaa_zarplata ELSE 0 END ))/2
Для отслеживания динамики изменений по месяцам необходимо преобразовать формат даты. Это можно сделать с помощью добавления иерархии: в области отображения данных модели для поля «Дата публикации вакансии» нажать на кнопку «Редактировать» → «Создать иерархию» и отметить необходимые уровни:


  • Год
  • Месяц (число)
  • Месяц (строка)
  • День

Готово!


Подробнее про работу с вычисляемыми полями и иерархиями можно узнать здесь, а разобранный пример посмотреть в этом коротком видео
Когда все необходимые дополнительные столбцы добавлены в таблицу, нужно определить, какие из полей будут справочниками. Это можно сделать сразу из режима редактирования или в разделе «Описание столбцов» — «Является справочником»

В данном случае это будут поля:
  • Тип ПО
  • Тип занятости
  • Должность
  • Месяц (строка)

Построение модели завершено, теперь необходимо загрузить данные в хранилище. Это делается с помощью нажатия на одноименную кнопку над областью схемы.

Ждем уведомление об успешной загрузке.

Здорово! Ваша первая модель готова к работе.


Теперь можно приступать к визуализации данных.
Если остались вопросы по работе с моделями данных, всегда можно обратиться к базе знаний по ссылке.
Вы также можете поэкспериментировать и дополнить модель своими вычисляемыми полями.