Редактор прямых запросов¶
Если вам когда-нибудь понадобится создавать запросы, которые нельзя выразить с помощью конструктора запросов, вы можете вместо этого использовать 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-запрос:
Не беспокойтесь, если вы ещё этого не понимаете. Нажмите синюю кнопку Выполнить запрос, чтобы отправить его и получить результат.
Вы заметите, что таблица, которая возвращается, такая же, как если бы вы использовали конструктор запросов, чтобы запросить сумму Промежуточный итог
в таблице Заказы
, сгруппированную по Создано в
дате.
Запуск выборки запросов¶
Вы можете запустить свой SQL-запрос, нажав Ctrl + Enter
в Windows и Linux или ⌘ + return
на Mac. Вы также можете запустить только часть запроса, выделив элементы, которые вы хотите выполнить, прежде чем нажать кнопку запуска или использовать горячую клавишу запуска.
Запросы, созданные в редакторе прямых запросов, можно сохранять, загружать, преобразовывать в модели и добавлять на дашборды точно так же, как запросы, созданные с помощью конструктора запросов.
Вы также можете ссылаться на модели и сохранённые запросы в своих SQL-запросах.
Использование ??
вместо оператора ?
¶
Если вы используете оператор JSON ?
в PostgreSQL, используйте вместо него эквивалентный оператор ??
.
Это связано с ограничениями JDBC, который интерпретирует одиночный знак вопроса ?
как заполнитель параметра.
Форматирование SQL-запросов¶
Вы можете форматировать свои SQL-запросы, нажав на значок "документа" в боковой панели редактора.
До форматирования | После форматирования |
---|---|
![]() |
![]() |
Форматирование работает только для SQL-запросов и недоступно для SQLite и SQL Server.
Использование 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-запросов, нажимая на точки данных, масштабировать временные ряды или карты и использовать некоторые действия заголовков столбцов.
- Вы не сможете детализировать до неагрегированных записей, изменять временну́ю детализацию или разбивать данные по категориям или расположениям.
Кэширование результатов¶
См. Политики кэширования запросов.