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

Редактор прямых запросов

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

Примечание

В документации ещё можно встретить "редактор SQL". Это синоним "редактора прямых запросов". Запрос называется «прямым», а не «SQL», потому что вы также можете запрашивать базы данных, которые не используют SQL, такие как MongoDB и Google Analytics.

Что такое SQL?

SQL (произносится как «си́квел», или иногда как "эскюэ́ль"— люди спорят об этом) расшифровывается как Structured Query Language и является широко используемым стандартом для получения данных из баз данных. Мы не будем сейчас учить вас всему, что касается SQL, но чтобы узнать о нём больше, ознакомьтесь с Как работать с SQL (документация Metabase, англ.).

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

Запуск нового SQL-запроса

Выберите + Новый на главной панели навигации. Если у вас есть разрешения на использование редактора SQL, вы увидите возможность запустить новый SQL-запрос рядом с маленьким значком консоли.

Нажав SQL-запрос, вы увидите редактор, в котором можно писать и выполнять запросы на SQL (или на родном языке запросов вашей базы данных).

Редактор прямых запросов

Чтобы попробовать, убедитесь, что вы выбрали образец базы данных, а затем вставьте этот короткий SQL-запрос:

SELECT
    sum(subtotal),
    created_at
FROM orders
GROUP BY created_at;

Не беспокойтесь, если вы ещё этого не понимаете. Нажмите синюю кнопку Выполнить запрос, чтобы отправить его и получить результат.

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

Запуск выборки запросов

Вы можете запустить свой SQL-запрос, нажав Ctrl + Enter в Windows и Linux или ⌘ + return на Mac. Вы также можете запустить только часть запроса, выделив элементы, которые вы хотите выполнить, прежде чем нажать кнопку запуска или использовать горячую клавишу запуска.

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

Вы также можете ссылаться на модели и сохранённые запросы в своих SQL-запросах.

Использование ?? вместо оператора ?

Если вы используете оператор JSON ? в PostgreSQL, используйте вместо него эквивалентный оператор ??.

Это связано с ограничениями JDBC, который интерпретирует одиночный знак вопроса ? как заполнитель параметра.

Форматирование SQL-запросов

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

До форматирования После форматирования
SQL-запрос до форматирования SQL-запрос после форматирования

Форматирование работает только для SQL-запросов и недоступно для SQLite и SQL Server.

Использование SQL-фильтров

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

SQL-фильтр

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

SQL-фрагменты

Вы можете использовать SQL-фрагменты для сохранения, повторного использования и совместного использования кода SQL для нескольких запросов, составленных с помощью редактора SQL.

Как Glarus BI исполняет SQL-запросы

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

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

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

См. История.

Изучение результатов SQL-запроса с помощью конструктора запросов

Для сохранённых SQL-запросов без параметров вы получите кнопку Изучить результаты. Она создаст новый запрос в конструкторе запросов, который использует результаты SQL-запроса в качестве источника данных.

Кнопка изучения результатов

Детализация в SQL-запросах

Визуализации, созданные с помощью SQL, имеют ограниченные возможности детализации:

  • Вы можете фильтровать результаты SQL-запросов, нажимая на точки данных, масштабировать временные ряды или карты и использовать некоторые действия заголовков столбцов.
  • Вы не сможете детализировать до неагрегированных записей, изменять временну́ю детализацию или разбивать данные по категориям или расположениям.

Кэширование результатов

См. Политики кэширования запросов.

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