Metabase SQL графики и запросы. Metabase base. Easy Metabase

f7c2e7966775ecafea10a134965ca6e5

Работа с графиками.

Предварительная настройка:

sudo apt install -y openjdk-21-jre-headless

sudo useradd -p your_password -s /bin/false -U -m metabase

sudo vim /etc/default/metabase

MB_DB_TYPE=postgres

MB_DB_DBNAME=metabase_db

MB_DB_PORT=5432

MB_DB_USER=metabase_user

MB_DB_PASS=your_db_user_password

MB_DB_HOST=localhost

sudo chmod 640 /etc/default/metabase

Установка

wget https://downloads.metabase.com/v0.53.3/metabase.jar
sudo mv metabase.jar /home/metabase/

sudo vim /etc/systemd/system/metabase.service

[Unit]
Description=Metabase server
After=network.target

[Service]
WorkingDirectory=/home/metabase
ExecStart=/usr/lib/jvm/java-21-openjdk-amd64/bin/java --add-opens java.base/java.nio=ALL-UNNAMED -jar /home/metabase/metabase.jar
EnvironmentFile=/etc/default/metabase
User=metabase
Type=simple
Restart=on-failure

[Install]
WantedBy=multi-user.target

java -jar metabase.jar

Операторы SQL для построения графиков в Metabase

  1. SELECT
    Выбор столбцов или вычисляемых значений для отображения на графике.
    Пример:

    SELECT column1, column2 FROM table;
    
  2. FROM
    Указание таблицы или источника данных.
    Пример:

    SELECT * FROM sales_data;
    
  3. WHERE
    Фильтрация строк по условию.
    Пример:

    SELECT * FROM sales_data WHERE region = 'Europe';
    
  4. GROUP BY
    Группировка данных для агрегации.
    Пример:

    SELECT region, SUM(sales) FROM sales_data GROUP BY region;
    
  5. ORDER BY
    Сортировка данных по указанному столбцу.
    Пример:

    SELECT * FROM sales_data ORDER BY date DESC;
    
  6. LIMIT
    Ограничение количества возвращаемых строк.
    Пример:

    SELECT * FROM sales_data LIMIT 10;
    
  7. JOIN
    Объединение данных из нескольких таблиц.
    Пример:

    SELECT * FROM sales s JOIN products p ON s.product_id = p.id;
    
  8. SUM, COUNT, AVG, MIN, MAX
    Агрегатные функции для вычисления суммы, количества, среднего, минимума или максимума.
    Пример:

    SELECT SUM(sales) FROM sales_data;
    
  9. DATE_TRUNC
    Округление даты до указанной точности (день, месяц, год и т.д.).
    Пример:

    SELECT DATE_TRUNC('month', date) FROM sales_data;
    
  10. EXTRACT
    Извлечение части даты (год, месяц, день и т.д.).
    Пример:

    SELECT EXTRACT(YEAR FROM date) FROM sales_data;
    
  11. CASE
    Условные выражения для создания новых столбцов.
    Пример:

    SELECT CASE WHEN sales > 1000 THEN 'High' ELSE 'Low' END FROM sales_data;
    
  12. OVER, PARTITION BY
    Оконные функции для вычислений внутри групп строк.
    Пример:

    SELECT AVG(sales) OVER (PARTITION BY region) FROM sales_data;
    
  13. ROW_NUMBER, RANK
    Присвоение номеров строкам или ранжирование.
    Пример:

    SELECT ROW_NUMBER() OVER (ORDER BY sales DESC) FROM sales_data;
    
  14. UNION
    Объединение результатов нескольких запросов.
    Пример:

    SELECT * FROM sales_2022 UNION SELECT * FROM sales_2023;
    
  15. WITH (CTE)
    Создание временных таблиц для сложных запросов.
    Пример:

    WITH top_products AS (
        SELECT product_id FROM sales_data ORDER BY sales DESC LIMIT 5
    )
    SELECT * FROM top_products;
    
  16. HAVING
    Фильтрация результатов агрегации.
    Пример:

    SELECT region, SUM(sales) FROM sales_data GROUP BY region HAVING SUM(sales) > 10000;
    
  17. COALESCE
    Возврат первого не NULL значения из списка.
    Пример:

    SELECT COALESCE(column1, column2, 'N/A') FROM table;
    
  18. NULLIF
    Возврат NULL, если значения равны.
    Пример:

    SELECT NULLIF(column1, 0) FROM table;
    
  19. CAST
    Преобразование типа данных.
    Пример:

    SELECT CAST(column1 AS FLOAT) FROM table;
    
  20. DISTINCT
    Удаление дубликатов.
    Пример:

    SELECT DISTINCT region FROM sales_data;
    

Эти операторы помогут вам подготовить данные для построения графиков в Metabase.

© Habrahabr.ru