Перейти к содержанию

Создание запросов

Примечание

В Metabase используется два различных термина и сущности в системе: Question («Вопрос») и Query («Запрос»). Причём «запросы» обычно означают то же, что «прямые запросы» («native query»). Это создаёт некоторую путаницу и вызывает непонимание у русскоязычных разработчиков и пользователей, которые сталкиваются с системой впервые.

В Glarus BI мы посчитали, что термин "вопрос" избыточен, и решили ограничиться "запросом" для обоих случаев. Просто имейте в виду, что "запрос" в системе имеет более широкое значение, чем просто SQL-код, который возвращает какой-то набор данных. Запрос также включает визуализацию.

Чтобы создать запрос в Glarus BI, нажмите кнопку + Новый в правом верхнем углу главной панели навигации и выберите один из следующих вариантов:

На этой странице рассказывается, как создать запрос с помощью графического конструктора запросов Glarus BI, опции «Запрос».

Создание нового запроса с помощью конструктора запросов

В раскрывающемся списке + Новый выберите Запрос, затем выберите исходные данные:

Вы можете использовать в качестве начальных данных для создания запроса:

  • Модели. Модель — это особый вид сохранённого запроса, предназначенный для использования в качестве отправной точки. Иногда их называют производными таблицами, так как они обычно объединяют данные из нескольких необработанных таблиц.
  • Метрики. Метрики — это предопределённые вычисления. Если вы выберете метрику в качестве отправной точки для запроса, Glarus BI создаст запрос с тем же источником данных, что и выбранная метрика, и применит метрику. Вы сможете добавлять дополнительные соединения, фильтры и агрегации.
  • Таблицы. Вам нужно будет указать базу данных и таблицу в этой базе данных в качестве отправной точки для вашего запроса.
  • Сохранённый запрос. Вы можете использовать результаты любого запроса в качестве отправной точки для нового запроса.

Обратите внимание, что некоторые виды сохранённых запросов нельзя использовать в качестве исходных данных:

  • запросы к Druid;
  • запросы к Google-аналитике;
  • запросы к MongoDB;
  • запросы, в которых используются агрегаты Cumulative Sum или Cumulative Count;
  • запросы, в которых есть столбцы с одинаковыми или похожими названиями, например Count и Count 2.

Конструктор запросов

Как только вы выберете свои данные, Glarus BI предоставит вам конструктор запросов. Допустим, вы выбрали Таблицы > Sample Database > Orders, тогда вы увидите что-то вроде этого:

Glarus BI. Конструктор запросов

Это конструктор запросов. Он имеет три шага по умолчанию.

Справа от завершённого шага находится кнопка Предварительный просмотр (выглядит как кнопка «Воспроизвести» — треугольник, указывающий вправо), которая показывает первые 10 строк результатов вашего запроса до этого шага.

Предпросмотр результатов

Выбор данных

В разделе данных вы выбираете данные, с которыми хотите работать. Здесь вы можете выбрать модель, таблицу из базы данных или сохранённый запрос. Вы можете нажать на таблицу, чтобы выбрать, какие столбцы вы хотите включить в свои результаты.

Соединение данных

Вы также можете выбрать несколько таблиц из одной и той же базы данных, соединив их.

Фильтрация

Фильтрация просто означает сужение списка на основе определённых критериев. Вы, вероятно, уже знакомы с фильтрацией при поиске чего-либо в Интернете, например при совершении покупок. Может быть вы хотите видеть только брюки синего цвета или книги, фамилия автора которых «Борхес», или изображения людей в брюках синего цвета, читающих Хорхе Луиса Борхеса.

Фильтрация

Когда вы добавляете шаг фильтра, вы можете выбрать один или несколько столбцов для фильтрации. В зависимости от типа данных (документация Metabase, англ.) выбранного столбца вы получите разные типы фильтров, например, таких как календарь для столбцов даты.

Вы можете добавить последующие шаги фильтра после каждого шага. Это позволяет вам суммировать по количеству строк в месяц, а затем добавлять фильтр в столбец count, чтобы включать только строки, в которых количество более 100 (это в целом похоже на предложение SQL HAVING).

Если вы довольны своим фильтром, нажмите Добавить фильтр и визуализируйте свои результаты. Ваши данные будут обновлены с применением фильтра.

Если вы хотите отредактировать свой фильтр, просто щёлкните на маленький значок фильтра в верхней части экрана. Если вы нажмёте на ×, вы удалите свой фильтр. Вы можете добавить столько фильтров, сколько вам нужно.

Типы фильтров

В зависимости от данных в столбце, система предложит различные фильтры.

  • Числовые столбцы можно фильтровать по различным условиям: равно, не равно, больше, меньше, между, больше или равно, меньше или равно, пусто, не пусто.
  • Текстовые столбцы или столбцы категорий — по полному или частичному совпадению (в разных частях строки), условию "не содержит", а также пустым и непустым значениям.
  • Столбцы с датой и временем предоставляют множество вариантов фильтрации по определённым диапазонам дат, относительным диапазонам дат и т.д.
  • Столбцы со структурами данных (JSON, XML) могут фильтроваться по условиям "пусто" или "не пусто". Если СУБД поддерживает развёртывание JSON, то вложенные данные структуры могут быть также развёрнуты в столбцы и фильтроваться как в предыдущих вариантах в зависимости от типа.

Множественный фильтр

При просмотре таблицы или диаграммы нажатие на Фильтр вызовет модальное окно фильтра:

Множественный фильтр

Здесь вы можете добавить несколько фильтров к своему запросу за один раз (что позволяет также сократить время загрузки данных). Параметры фильтра будут различаться в зависимости от типа поля. Любые таблицы, связанные внешними ключами, будут отображаться на левой вкладке модального окна. Вы также можете фильтровать поля с группировками.

Когда вы закончите добавлять фильтры, нажмите Применить фильтры, чтобы повторно выполнить запрос и обновить его результаты. Чтобы удалить все применённые фильтры, нажмите Очистить все фильтры в левом нижнем углу окна фильтра. Любые фильтры, которые вы примените здесь, будут отображаться в редакторе записной книжки, и наоборот.

Фильтр по дате

При фильтрации по столбцу даты важно понимать разницу между конкретными и относительными датами:

  • Конкретные даты — это, например, 1 ноября 2024 г. или 3 июня – 12 июля 2025 г.; они всегда имеют отношение к определённым датам.
  • Относительные даты — такие как «последние 30 дней», «текущая неделя»; по прошествии времени даты, на которые эти параметры ссылаются, изменяются. Относительные даты — это полезный способ настроить фильтр для запроса, чтобы он оставался актуальным, показывая вам, например, сколько людей посетило ваш сайт за последние 7 дней. Вы также можете нажать , чтобы указать параметр Начиная с, который позволяет сместить относительный диапазон дат. Например, вы можете установить диапазон как «Предыдущие 7 дней, начиная с 2 дней назад».

Фильтр по сегментам

Если администраторы вашей Glarus BI создали специальные именованные фильтры для просматриваемой вами таблицы, они будут отображаться в верхней части раскрывающегося списка фильтров фиолетовым текстом со звёздочкой рядом с ними. Они называются Сегменты и представляют собой ярлыки для комбинации фильтров, которые обычно используются в вашей организации. Их также можно назвать, например, «Активные пользователи» или «Самые популярные продукты».

Фильтры OR

Выражение фильтра

Если у вас есть более сложный фильтр, который вы пытаетесь применить, вы можете выбрать Пользовательское выражение в меню добавления фильтра, чтобы создать выражение фильтра. Вы можете использовать операторы сравнения, такие как больше, > или меньше, <, а также функции, подобные электронным таблицам. Например, [Промежуточный итог] > 100 OR median([Возраст]) < 40. Узнайте больше о написании выражений или сразу перейдите к списку выражений.

Обобщение и группировка по

Обобщение

За формулировкой задачи «сколько людей загружали наше приложение каждый день на прошлой неделе?» обычно следует сводка данных. Сводка обычно состоит из двух частей: одного или нескольких чисел, которые нам нужны (на языке данных называемых «метрикой»), и того, как мы хотим видеть это число сгруппированным или разбитым на части. Например, для следующего вопроса: «Сколько людей загружали наше приложение каждый день на прошлой неделе?»

  • Метрикой будет количество людей, скачавших приложение (количество строк).
  • Мы хотим, чтобы эта метрика была сгруппирована по "каждому дню".
  • Также мы хотим отфильтровать строки для "последней недели".

Существует два распространённых способа суммирования данных:

  • подсчёт количества строк в вашей таблице;
  • получение суммы или среднего значения числового столбца.

В большинстве случаев вы затем группируете эту метрику по:

  • времени;
  • месту;
  • категории.

Добавление шага суммирования позволяет вам выбрать, как агрегировать данные из предыдущего шага. Вы можете выбрать одну или несколько метрик и при желании сгруппировать эти метрики по одному или нескольким параметрам (столбцам). При выборе метрик вы можете выбрать одну из основных функций, такую как sum, average, или count; или вы можете выбрать общую метрику, определённую администратором; создать произвольное выражение, написав формулу.

Общие показатели включают в себя:

  • Количество записей: общее количество строк в таблице после применения любых фильтров. Если вы смотрите на свою таблицу Orders и хотите узнать, сколько заказов было размещено с ценой выше 40 долларов США, вы должны отфильтровать по «Цена больше 40», а затем выбрать Число записей, потому что вы хотите, чтобы Glarus BI подсчитала, сколько заказов соответствует вашему фильтру.
  • Сумма…: сумма всех значений в определённом столбце.
  • Среднее…: среднее всех значений в одном столбце.
  • Уникальные значения…: количество уникальных значений во всех ячейках одного столбца. Это полезно при попытке выяснить, например, сколько различных типов продуктов было продано в прошлом месяце (а не сколько было продано всего).
  • Сумма с накоплением… даёт вам промежуточный итог для определённого столбца. Чтобы эта метрика была полезной, вам нужно сгруппировать её по столбцу даты, чтобы увидеть её во времени.
  • Счёт с накоплением построчно даёт вам общее количество строк в таблице с течением времени. Так же, как и в случае Сумма с накоплением…, вам нужно будет сгруппировать результат по столбцу даты, чтобы увидеть значения во времени.
  • Стандартное отклонение…: число, которое показывает, насколько значения в столбце отличаются, плюс или минус, от среднего значения в этом столбце.
  • Минимум…: минимальное значение, присутствующее в выбранном поле.
  • Максимум…: максимальное значение, присутствующее в выбранном поле.

Если вы подведёте итоги и добавите группировку, вы сможете подытожить снова. Вы также можете добавить шаги для фильтрации и/или соединения между ними. Для примера ваш первый шаг суммирования может состоять в том, чтобы получить количество заказов в месяц, а затем вы можете добавить второй шаг суммирования, чтобы получить среднемесячную сумму заказов, выбрав Среднее… вашего столбца count.

Несколько шагов обобщения

Вы также можете добавить метрики и группировки на странице результатов в боковой панели: в верхней части боковой панели вы выбираете число («метрику»), которое хотите увидеть, а в нижней части вы выбираете, как сгруппировать это число (или как "разбить").

Если ваши администраторы создали какие-либо именованные показатели, характерные для вашей компании или организации (например, стандартный способ расчёта доходов вашей компании), они будут в этом раскрывающемся списке в разделе Общие показатели.

Группировка ваших показателей

В зависимости от выбранного вами столбца группировки Glarus BI покажет вам, что она считает лучшей визуализацией или диаграммой по умолчанию для этой сводки. Поэтому, если вы выберете столбец дат, вы увидите линейную диаграмму, подобную этой (вы можете нажать зеленую кнопку Суммировать, чтобы просмотреть боковую панель суммирования).

Группировка по дате столбца

Когда вы нажимаете на другой столбец группировки, отличный от того, который вы выбрали в данный момент, группировка переключится на использование этого столбца. Но если вы хотите добавить дополнительную группу, просто щёлкните значок "плюс" + в правой части столбца. Чтобы удалить группу, щёлкните значок ×.

Несколько группировок

Некоторые столбцы группировки дадут вам возможность выбрать, насколько большими или маленькими будут группировки. Например, если вы выбрали столбец «Дата» для группировки, вы можете нажать на слова by month, чтобы изменить группировку на день, неделю, час, квартал, год и т.д. Если вы группируете по числовому столбцу, например, по возрасту, Glarus BI автоматически «сгруппирует» результаты, поэтому вы увидите свою метрику, сгруппированную в возрастные группы, например 0–10, 11–20, 21–30 и т.д. Как и в случае с датами, вы можете щёлкнуть на текущем параметре бинирования, чтобы изменить его на определённое количество бинов. Однако в настоящее время невозможно выбрать собственные диапазоны для ячеек.

Несколько группировок

Закончив настройку показателей и группировок, нажмите Визуализировать, чтобы увидеть результаты на графике, гистограмме или визуализации другого типа.

Визуализация ваших данных

Если вы хотите забежать вперёд — узнайте, как изменить визуализацию ваших результатов.

Возврат к конструктору запроса

Чтобы вернуться к конструктору запроса, нажмите кнопку «Показать редактор» в правом верхнем углу.

Показать редактор

Просмотр сведений об отдельной записи

Чтобы просмотреть дополнительную информацию о данной записи (пользователь, заказ, место проведения и т.д.), нажмите на идентификационный номер записи (или первичный ключ). Вы можете видеть все поля связанные с этой одной записью и все связанные таблицы, которые скрыты в табличном представлении для удобочитаемости. Чтобы просмотреть другие записи в текущей таблице, нажимайте клавиши со стрелками вправо или влево или кликайте на стрелки справа или слева от экрана.

Детали записей

Пользовательские выражения

Пользовательские выражения позволяют использовать функции, подобные функциям в Excel, а также простые арифметические операции внутри или между функциями агрегирования.

Пользовательские выражения

Например, вы можете сделать Average(sqrt[ПолеX]) + Sum([ПолеY]) или Max(floor([ПолеX] - [ПолеY])), где ПолеX и ПолеY являются полями в текущей выбранной таблице. Подробнее о написании выражений.

Создание пользовательских столбцов

Пользовательские столбцы

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

В формулах можно использовать следующие математические операторы: +, , * (умножение) и / (деление), а также целый ряд функций, подобных функциям Excel. Вы также можете использовать круглые скобки для уточнения порядка операций.

Сортировка результатов

Сортировка

Шаг сортировки позволяет выбрать один или несколько столбцов для сортировки результатов. Для каждого выбранного вами столбца вы также можете выбрать сортировку по возрастанию или по убыванию; просто щёлкните стрелку, чтобы перейти от восходящей (стрелка вверх) к нисходящей (стрелка вниз).

Установка лимита строк

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

Просмотр SQL-кода вашего запроса

SQL-код находится "под капотом" большинство запросов в Glarus BI. Если вам интересно увидеть SQL, который будет запущен, когда вы выполните свой запрос, вы можете щёлкнуть маленький значок консоли в правом верхнем углу редактора. В открывшемся модальном окне вам также будет предоставлена возможность запустить новый запрос в редакторе SQL, используя этот сгенерированный SQL в качестве отправной точки (при условии, что у вас есть разрешения SQL на выполнение запросов в этой базе данных). Это хороший способ, чтобы Glarus BI написала для вас некоторый шаблонный SQL, который вы затем сможете настроить или изменить.

Поэкспериментируйте с сохранёнными запросами

Каждый раз, когда вы начинаете изменять сохранённый запрос, Glarus BI будет создавать для вас новый запрос. Конструктор запросов отобразит название исходного запроса в разделе Данные.

Начиная с сохранённого запроса

Пробуйте экспериментировать с любым сохранённым запросом, так как вы не измените существующий запрос, пока явно не выберете сохранение. Когда вы нажимаете Сохранить в запросе, вы можете либо сохранить его как новый запрос (по умолчанию), либо перезаписать существующий запрос, с которого вы начали.

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

История версий запроса

Для запросов, дашбордов и моделей Glarus BI хранит историю версий для предыдущих пятнадцати версий этого элемента.

См. История.

Дополнительная информация