База знаний НГТУ НЭТИ

Технологии, которые работают

Инструменты пользователя

Инструменты сайта


superset:work_in_superset:jinja_templates

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
superset:work_in_superset:jinja_templates [2023/09/22 12:14] – создано e.nesterova@corp.nstu.rusuperset:work_in_superset:jinja_templates [2023/09/22 12:34] (текущий) e.nesterova@corp.nstu.ru
Строка 64: Строка 64:
 </WRAP> </WRAP>
  
 +<WRAP group>
 +<WRAP column 40%>
 +Для начала создадим виртуальный набор данных без Jinja через Редактор SQL:\\ \\
 +Сохраним запрос и используем его, как датасет для графика.
  
 +</WRAP>
  
 +<WRAP column 30%>
 +<code>
 +WITH calculation as (
 + SELECT count(*), window
 + FROM abituser.ld$telephony
 + WHERE type_call_name in ('входящий')
 + GROUP BY window
 +)
 +SELECT * FROM calculation
 +</code>
 +</WRAP>
 +</WRAP>
  
 +
 +<WRAP group>
 +<WRAP column 40%>
 +**Шаг 2. Измените виртуальный набор данных, включив в него Jinja.**\\
 +В вашем браузере откроется новая вкладка с вашим новым виртуальным набором данных.\\
 +В разделе **Датасет** рядом с именем вашего набора данных, выберите **Редактировать датасет**.\\
 +В разделе **Источник**, нажмите на значок замка, который предоставит вам доступ для редактирования запроса. На панели ввода **SQL**-запроса 
 +<WRAP center round box 80%>
 +замените type_call_name in ('входящий') на %%type_call_name in ({{ "'" + "', '".join(filter_values(‘type_call_name')) + "'" }})%%
 +</WRAP>
 +и нажмите **Сохранить**.
 +
 +
 +</WRAP>
 +
 +<WRAP column 30%>
 +{{:superset:work_in_superset:jinja_1.png?nolink|}}
 +</WRAP>
 +</WRAP>
 +
 +<WRAP center round important 70%>
 +О структуре шаблонов Jinja:
 +  * Начальная ((%%{{ "'" + "', '".join() и конечная () + "'" }}%%) части отвечают за объединение – эта структура позволяет фильтровать несколько значений.
 +  * //filter_values(‘Column-Name')// – функция, которая будет учитывать значение фильтра //Column-Name//, в данном случае это //type_call_name//.
 +
 +</WRAP>
 +
 +
 +<WRAP group>
 +<WRAP column 40%>
 +**Шаг 3. Добавьте диаграмму на панель дашборда.**\\
 +Теперь, когда мы правильно изменили виртуальный набор данных, мы можем запустить нашу диаграмму, выбрав **Update chart**. Диаграмма не вернет никаких результатов, поскольку она еще не настроена.\\
 +Выберите **Сохранить** график и перейти к дашборду. 
 +
 +
 +</WRAP>
 +
 +<WRAP column 30%>
 +{{:superset:work_in_superset:jinja_2.png?nolink&400|}}
 +</WRAP>
 +</WRAP>
 +
 +<WRAP group>
 +<WRAP column 40%>
 +**Шаг 4. Настройте фильтр на панели дашборда.**\\
 +Панель управления откроется в вашем браузере. После его появления приступим к заключительному этапу настройки фильтров панели мониторинга.\\
 +Начните с выбора стрелки вправо, чтобы развернуть область **Фильтры**, а затем выберите **+Add/Edit filters**.
 +</WRAP>
 +
 +<WRAP column 30%>
 +{{:superset:work_in_superset:jinja_3.png?nolink|}}
 +</WRAP>
 +</WRAP>
 +
 +<WRAP group>
 +<WRAP column 40%>
 +Появится окно Добавление и редактирование фильтров.
 +  - В поле **Значение фильтра** введите имя вашего фильтра. 
 +  - В поле **Датасет** укажите датасет, который используется в самом запросе, а не тот, который создали с помощью шаблонов. В нашем примере это //abituser.ld$telephony//.
 +  - В поле **Column** мы выберем //type_call_name//, поскольку именно оно определяет имя нашего столбца в структуре Jinja.
 +  - Затем выберите вкладку **Scoping**, чтобы убедиться, что фильтр сопоставлен с вашим графиком Фильтр.
 +  - По завершении выберите **Сохранить**.
 +Теперь, слева появится созданный фильтр, при выборе значений к области диаграммы применятся выбранные позиции. 
 +
 +</WRAP>
 +
 +<WRAP column 30%>
 +{{:superset:work_in_superset:jinja_4.png?nolink|}}
 +{{:superset:work_in_superset:jinja_5.png?nolink|}}
 +</WRAP>
 +</WRAP>
  
  
superset/work_in_superset/jinja_templates.1695359667.txt.gz · Последнее изменение: 2023/09/22 12:14 — e.nesterova@corp.nstu.ru