Привет, Хабр! Меня зовут Антон, я работаю аналитиком в отделе бизнес-аналитики и анализа доходности в ОТП Банке. В нашей новой статье мы погрузимся в мир Apache Superset 2024 и откроем вам лучшие практики и продвинутые методы работы с этим мощным инструментом. После прочтения вы научитесь мастерски кастомизировать Pivot-таблицы, создавать уникальные цветовые палитры для дашбордов, эффективно настраивать систему алертов и использовать удобные CSS/HTML-шпаргалки для ускорения работы. Эти знания помогут значительно повысить эффективность использования Apache Superset, делая вашу аналитическую работу не только производительной, но и визуально привлекательной. Итак, поехали.

Модификация Pivot-таблиц

Pivot‑таблицы — неотъемлемый инструмент в арсенале современного аналитика, позволяющий глубоко анализировать и визуализировать данные. Кастомизации этих таблиц — важный инструмент в Apache Superset, так как позволяет сделать таблицу красивее, проще, читабельнее, а также использовать в ней корпоративные цвета, если это необходимо.

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

Вам нужно знать базовые инструменты стилизации в CSS, а также приоритетность их выполнения для этого раздела.

По умолчанию Superset делает Pivot-таблицу, представленную ниже.

Вид таблицы до кастомизации:

Вид таблицы после кастомизации:

Чтобы модифицировать таблицу 1 до вида таблицы 2, нужно использовать конкретные селекторы CSS для стилизации элементов нашей веб-страницы.

Пошаговая инструкция к приведению таблицы к этому виду:

1) Переходим во вкладку Edit Dashboard;

2) Нажимаем троеточие 

3) Переходим в вкладку Edit Css;

 

 

4) Начинаем редактировать Live CSS editor. Как работает этот механизм – поверх существующих селекторов CSS накладываются селекторы из кластера Live CSS editor, однако стоит понимать, что браузер интерпретирует изменения в Live CSS editor как код, написанный ниже основанного, и будет применять к нему все правила существующей приоритетности кода.

Также стоит отметить, что написанные ниже селекторы применимы ко всем другим Pivot-таблицам в Apace Superset, поэтому вы смело можете использовать их в своих проектах.

5) Код, который выбирает колонку оглавления Pivot-таблицы и делает цвет текста белым (невидимым), таким образом надпись MAX(d_summ) будет невидимой.

table.pvtTable thead tr th.pvtColLabel {color:white;}

6) Код, который выбирает оглавления осей Pivot-таблицы и делает цвет текста белым (невидимым), таким образом надписи Metric, period, ind  будет невидимой.

table.pvtTable thead tr th.pvtAxisLabel {color: white;} 

7) Код, который выбирает числовые значения таблицы и делает цвет текста черным (вместо синего по умолчанию) и выравнивает его по центру. Для выравнивания нужно указать !important, чтобы решить проблему приоритетности с базовым CSS.

table.pvtTable tbody tr td.pvtVal {

color:black;

text-align:center !important ;

}

8) Код, который выбирает четвертый ряд и делает цвет кислотно-зеленым и шрифт жирным.

table.pvtTable tbody tr:nth-child(4) td.pvtVal  {

background-color:#cbfa67;

font-weight: 800;

}

table.pvtTable tbody tr:nth-child(4) th.pvtRowLabel   {

font-weight: 800;

background-color: #cbfa67;

}

9) Код, который уберет границы в заголовках осей, что сделает вид таблицы более читабельным. Важно указать !important, чтобы наш код был приоритетнее.

table.pvtTable thead *  {

border-top:none !important;

border-left:none !important;

border-right:none !important;

}

10) Код, который сделает нашу колонку в хедере с винтажами 202301-202402 фиолетовым и выделенным жирным черным.

table.pvtTable thead tr th.pvtColLabel.hoverable {

font-weight: 800;

background-color: #9f6fc3;

text-align: center !important;

color:black;

border-top: 1px solid rgb(224, 224, 224) !important;

border-left: 1px solid rgb(224, 224, 224) !important;}
Финальный результат
Финальный результат

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

Создание цветовой палитры для Dashboard

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

Для добавления цветовой палитры откройте свойства дашборда.

Перейдите в раздел ADVANCED и найдите в JSON строку «label_colors». В ней можно переписать цвета для каждого показателя.

В скрипте нужно указать название показателя и hex-код.

"label_colors": {    
   "название_показателя_1": "#<код цвета>",    
   "название_показателя_2": "#<код цвета>", 
   "название_показателя_3": "#<код цвета>"
},

На моем дашборде есть показатели «продажи» и «средний чек», поэтому мой скрипт будет выглядеть так:

"label_colors": {
    "продажи": "#c0d7c0",
    "средний чек": "#3a9284"
  },

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

Создание алертов

Алерты в Apache Superset служат важной функцией мониторинга, предоставляя пользователям своевременные уведомления о критических изменениях в данных или достижении определённых пороговых значений. Эффективно настроенные алерты могут существенно повысить реактивность команд, ускоряя принятие решений и предотвращение потенциальных проблем.

Чтобы настроить алерт, кликните на Alert и заполните соответствующие поля. 

Удобные CSS /HTML шпаргалки

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

Дэшборды — CSS

/*дашборд*/
body {
   /*цвет фона*/
   background: #f2f2f2;
   /*шрифт*/
   font-family: calibri;
}
/*заголовок дашборда*/
.title-panel {
   /*цвет шрифта*/
   color: #495057;
}

Чарты — CSS

/*заголовок чарта*/
.dashboard .chart-header {
   /*насыщенность шрифта*/
   font-weight: 560;
   /*размер шрифта*/
   font-size: 18px;
   /*цвет шрифта*/
   color: #495057;
}

/*чарт*/
.dashboard-component-chart-holder.fade-out {
   /*закругление краев чарта*/
    border-radius: 15px;
   /*тень чарта*/
   box-shadow: 0 8px 9px 0 rgb(0 0 0 / 4%);
}

 Скрыть scroll bar — CSS

::-webkit-scrollbar {
    width: 0px;
    background: transparent; /* make scrollbar transparent */
}

Скрыть заголовки всех чартов — CSS

.header-title .editable-title {
 display:none;
}

Вместо вывода

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

Комментарии (2)


  1. Step_devops
    20.05.2024 13:48
    +1

    очень полезно. Спасибо!


  1. tanz_sullamora
    20.05.2024 13:48
    +2

    8)Код, который выбирает четвертый ряд

    а если нужен не четвёртый ряд, а подсветить строку на основании значения в одной из колонок?