BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Open-source BI - Apache Superset, Metabase, Redash » Metabase. Параметры в SQL

Metabase. Параметры в SQL

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

Настройки переменных появляются в панели Variables редактора запросов после добавления переменных.

 

Определение переменной

Добавление в запрос создаёт переменную с названием variable_name. Тип переменной и её поведение меняется на боковой панели. Все типы переменных кроме field filter добавляют соответствующий виджет в вопрос. Когда в виджите выбрано значение, это значение заменяет соответствующую переменную в SQL. Если в вопросе несколько фильтров, то их можно перетащить и изменить их порядок.

Этот пример определяет переменную cat позволяющую динамически изменять условие WHERE:

SELECT count(*)
FROM products
WHERE category = {{cat}}

 

Тип переменной Field Filter

Установка переменной типа field filter позволяет вам сопоставить её с любым полем в таблице текущей базы данных и отображает выпадающий список со значениями выбранного поля. Переменные field filter также позволяют соединить SQL-запрос с фильтром дашборда если вопрос помещён на дашборд.

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

Примечание: псевдонимы таблиц не поддерживаются.

Пример:

SELECT count(*)
FROM products
WHERE {{created_at}}

 

Создание фильтров SQL-вопроса используя переменные field filter

Сперва, вставьте переменную в SQL, например, . Затем, в боковой панели выберите тип Field Filter и выберите поле для сопоставления с переменной. Чтобы отобразился виджет фильтра, тип поля установленный в секции Data Model панели администрирования должен быть одним из следующих:

  • Category
  • City
  • Entity Key
  • Entity Name
  • Foreign Key
  • State
  • UNIX Timestamp (Seconds)
  • UNIX Timestamp (Milliseconds)
  • ZIP or Postal Code

 

Поле может быть также датой с временем (можно оставить как No special type в модели данных).

Вы увидите выпадающий список подписанный Widget, который позволяет вам выбрать тип виджета подходящего для вопроса. Это особенно полезно для полей с типом дата и время. Значение None скрывает виджет. Примечание: если настроек виджета нет, проверьте что поле принадлежит к одному из указанных выше типов, и затем попробуйте вручную синхронизировать базу данных из секции Database панели администратора чтобы заставить Metabase сканировать и кешировать значения поля.

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

  • Avatar Image URL
  • Description
  • Email
  • Enum
  • Field containing JSON
  • Image URL
  • Number
  • Latitude
  • Longitude
  • URL

 

Значение по умолчанию

Если вы введёте значение по умолчанию для фильтра, это значение будет выбрано в фильтре при открытии вопроса. Если вы очистите фильтр, то значение не будет передано в переменную, даже значение по умолчанию. Значение по умолчанию не оказывает эффект на поведение SQL-вопроса при просмотре дашборда.

 

Значение по умолчанию в запросе

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

Пример с текущей датой:

SELECT p.*
FROM products p
WHERE p.createdAt = [[ {{dateOfCreation}} #]]CURRENT_DATE()

 

Необязательное выражение

Необязательные выражения в запросе добавляются так: [[скобки вокруг ]]. Если переменная получает значение, то полное выражение помещается в запрос. Если нет, то полное выражение игнорируется.

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

SELECT count(*)
FROM products
[[WHERE category = {{cat}}]]

 

При использовании нескольких необязательных выражений вы должны добавить как минимум одно обычное выражение WHERE а за ним необязательные выражения начинающиеся с AND.

Пример:

SELECT count(*)
FROM products
WHERE True
  [[AND id = {{id}}]]
  [[AND category = {{category}}]]

 

Когда используется field filter, название столбца не должно включаться в SQL. Вместо этого, переменная должна быть связана с полем в боковой панели.

Пример:

SELECT count(*)
FROM products
WHERE True
  [[AND {{id}}]]
  [[AND {{category}}]]

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Metabase. Модель данных
Следующая статья →
Tableau vs Apache Superset

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • «ПрофХолод» — крупнейший в России производитель сэндвич-панелей с пенополиуретаном. 

  • ООО «Ай Пи Ти Групп» (IPT Group) — многопрофильный консалтинговый холдинг, специализирующийся на юридическом и финансовом сопровождении бизнеса. IPT Group занимает высокие позиции в профессиональных рейтингах, входит в ТОП-30 лучших юридических компаний России по версии «Право.ru-300», Global Law Experts и др.

  • АО «НСПК» - оператор национальной системы платежных карт, который предоставляет операционные услуги и услуги платежного клиринга операторам платежных систем, в том числе Банку России и кредитным организациям. В задачи АО «НСПК» входит обеспечение бесперебойного доступа к переводам денежных средств в Российской Федерации с использованием платежных инструментов.  Также компания является оператором национальной платёжной системы «Мир» и операционным и платёжным клиринговым центром Системы быстрых платежей (СБП).

  • "Холодильник.ру" - крупнейший в России интернет-магазин бытовой техники и электроники. Компания была основана в 2003 году и за почти 20 лет работы завоевала лидирующие позиции на рынке онлайн ритейла. По данным исследовательского агентства Data Insight, "Холодильник.ру" входит в top-10 крупнейших интернет-магазинов России в категории "электроника и бытовая техника". Компания имеет развитую логистическую инфраструктуру и ежедневно осуществляет более 3500 доставок заказов по всей стране.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.