Улучшения и новая разработка
ВАЖНО
Версия AW BI 1.34 имеет существенные изменения, связанные с синтаксисом формул в агрегатах.
Теперь движок OZ (оптимизатор запросов) строже относится к соблюдение синтаксиса формул.
Это сделано для ускорения расчётов — тесты показывают, что в некоторых сценариях расчёты стали выполнять в 40-50 раз быстрее.
Мы не можем автоматически скорректировать синтаксис в ваших расчётных агрегатах (расчёты на уровне виджетов) — необходимо это делать подконтрольно.
Но мы приготовили рекомендации по решению самых распространенных ошибок:
Отсутствие квадратных скобок в наименовании полей.
Имена полей необходимо указывать в квадратных скобках.
Неправильно:
calc__created_at_month = Month(now()) - 1 OR calc__created_at_month = Month(now())
Правильно:
[calc__created_at_month] = Month(now()) - 1 OR [calc__created_at_month] = Month(now())
Использование недопустимого названия функции.
- avgif - заменить на AVG_IF;
- countif - заменить на COUNT_IF;
- cast - заменить на DB_CAST;
- sumif - заменить на SUM_IF;
- minif - заменить на MIN_IF;
- date_trunc - заменить на DATETRUNC;
и другие.
Использование несуществующих функций.
- avgsum - заменить на AVG и SUM;
- lastdayofmonth - заменить на DATEADD, DATE, YEAR, MONTH. Взять год и месяц исходной даты, прибавить 1 к месяцу и установить день равным 1;
- procent, percent - заменить на арифметические расчеты;
- current_date - заменить на NOW или TODAY;
- calculate - заменить функциями с IF, например, SUM_IF и тд или оконной;
- distinct - заменить функциями COUNTD или COUNTD_IF для получения количества уникальных, и более сложные функции для получения списка;
и другие.
Рекомендуем перед обновлением AW BI на версию 1.34 исправить все используемые в виджетах формулы и SQL-фильтры, согласно рекомендациям - Синтаксис формул. Формулы, не обозначенные в данной документации, работать не будут.
Источники
Расширены проверки подключения к БД ClickHouse
Доступны проверки подключения через порты:
- TCP;
- HTTP / HTTPS.
Модели
Внедрена автоматическая отмена предпросмотра данных модели
Автоматическая отмена операции предпросмотра работает в следующих случаях:
- Предпросмотр данных модели;
- Предпросмотр иерархий;
- Расчет количества записей;
- Тестовый запуск скрипта в ETL-редакторе;
- Выполнение ETL-блока при редактировании его параметров;
- Запуск действия в панели настройки параметров блока.
Автозавершение происходит, если:
- закрывается браузер или вкладка браузера;
- закрывается страница AW, на которой должны показаться результаты предпросмотра, или модальное окно с ожиданием результатов тестового запуска, или панель с параметрами ETL-блока;
- при истечении максимального времени ожидания результатов быстрого предпросмотра (значение переменной окружения ETL_DATA_PREVIEW_MAX_TASK_DURATION).
Добавлена настройка для управления скрытием push-уведомлений при синхронизации моделей через планировщик
Добавлена возможность установки дополнительных python-библиотек и использования их в etl-скриптах моделей и блоков
О функционале: Подключение дополнительных Python библиотек.
Виджеты
Добавлена возможность переиспользования расчетных агрегатов
В виджеты “Тренд” и “KPI” добавлены настройки блока “Вид” и настройки для управления поведением фонового изображения
Добавлено изменение порядка переменных в виджетах
Добавлены новые типы виджета “Воронка” и “Диаграмма потоков (Sankey)”
Изменена грамматика формул
Для ускорения расчётов агрегатных функций проведена оптимизация сервиса clickhouse-parser - движок OZ (оптимизатор запросов) строже относится к соблюдению синтаксиса формул.
Информационные панели
Добавлено логирование просмотров информационных панелей
В окне “Связи виджетов” добавлены опции по скрытию списка виджетов
Добавлены настройки для кастомизации внешнего вида системных виджет-фильтров
Общие изменения
Добавлена информации в реестрах о количестве объектов в каталоге и улучшены методы поиска и фильтрации каталогов по объектам, находящихся внутри каталогов
Добавлена кнопка “Выход” на страницу просмотра виджета/ИП по внутренней ссылке
Добавлено сохранение состояний показателей и уровня вложенности на виджетах в функционале представлений
В дополнительные реестры Системы добавлен вывод окна с атрибутными данными об учетной записи пользователя
Просмотр дополнительных атрибутов пользователя добавлен в:
- общий доступ к объектам;
- наследуемые права на объекты;
- права доступа каталога;
- общий доступ к переменным;
- реестр переменных;
- общий доступ к закладкам;
- рассылки по email;
- доступ к созданию публичных ссылок.
Другие улучшения
Внесены улучшения:
- Восстановлено применение форматирования значений в выгрузке виджета “Сводная таблица” в excel и csv;
- Скорректирована работа добавления/удаления виджетов на рабочую область ИП;
- Упрощены правила ключевых слов в формулах агрегации для увеличения скорости запросов;
- Оптимизированы просмотры виджетов и панелей;
- Исправлены интерфейсные неточности, обнаруженные в версии 1.32;
- Скорректировано применение сортировки по агрегату в сводной таблице;
- Внесены корректировки в работу функции DATEPART;
- Исправлено отображение данных в таблице агрегатов в развернутом режиме;
- Исправлены неточности работы превью в виджете “Таблица агрегатов”;
- Изменено поведение при создании виджета через ИП;
- Исправлены неточности в работе системных виджетов “Текст” , “Кнопка”, “Изображение” и “Контейнер”;
- Устранены проблемы в Airflow при смене значений по умолчанию в .env переменных;
- Скорректирована работа взаимозависимого фильтра в ИП открытых по публичной ссылке;
- Для виджетов “Тренд” и “KPI” обновлена форма “Экспорт”;
- Внесены интерфейсные корректировки в работу виджета “KPI”;
- Убраны скроллы, лишние отступы и пробелы в виджетах “Тренд” и “KPI” в просмотре ИП;
- Добавлена проверка при сохранении расписания на частое обновление модели;
- Исправлены неточности при установке по умолчанию значения “(Пустые)” в редактируемые переменные;
- Добавлен учет сортировки групп-столбцов в тепловой карте на ИП;
- Улучшена работа переключателя для смены темы;
- Добавлено условное форматирование заголовков групп-столбцов оператором “Цвет текста”;
- Исправлено отображение bool-значений в группировках и показателях пузырьковых диаграмм и тепловых карт;
- Добавлено экранирование в значение переменной “Константа” с типом “Строка” для поддержания работы Системы в старом синтаксисе;
- Проведена оптимизация логов для сервиса рассылок;
- Оптимизирован запрос при генерации прямой ссылки на ИП;
- Проведено исследование по ошибке “[Errno 111] Connection refused”;
- Добавлен выпадающий список с наименованиями переменных при вводе редактируемых переменных в подписях “Тренда” и “KPI”;
- Модернизировано хранение паролей источников;
- Добавлены проверки в API на права в зависимости от роли пользователя;
- Оптимизирована передача прав доступа на действия в Системе;
- Добавлены дополнительные правила учета скрытой сортировки в группах-строках / группах;
- Добавлен Update при изменении названия модели на все связанные model_object;
- Восстановлена передача полного текста из сообщения об ошибке при подключении к источникам;
- Переименовано право “Выгрузка” на “Экспорт”;
- Добавлено закрытие окна “Экспорт” в ИП после вызова сервиса;
- Исправлено поведение превью при публикации виджета HTML с пустым кодом;
- Добавлены миниатюры для новых типов виджетов (KPI, воронка, санкей, водопад);
- Модернизировано применение обводки секторов круговых диаграмм;
- Исправлены интерфейсные неточности при замене файлового источника;
- Добавлены проверки на статус синхронизации модели при создании виджета через API;
- Скорректировано применение настройки выравнивания для итоговых агрегатов в виджетах “Таблица” и “Сводная таблица”;
- Изменены условия отображения кнопки экспорта в виджетах.
Ошибки
Исправлены ошибки:
- Устранена ошибка в виджете “Таблица” при авто-форматировании агрегата с оконной функцией в формуле;
- Устранена ошибка в виджете “Сводная таблица” при авто-форматировании агрегата с оконной функцией в формуле;
- Устранена ошибка сортировки по расчетному агрегату в сводной таблице;
- Исправлена ошибка при работе с моделью на файловом источнике, в случае смены режима загрузки данных с “Файл” на “Ссылка”;
- В файловый пуллер добавлен нечеткий поиск листов для частичного решения проблемы с листами Excel, в названии которых есть символ точки;
- Устранена ошибка при проваливании в пустую группировку на ИП.
Важная информация для команд проектной разработки и devops
Необходимые изменения, которые должны быть внесены после обновлений:
Изменения в конфигурации
Добавлены переменные:
- ETL_PULLER_TIMEOUT
- ETL_API_START_PREVIEW_TIMEOUT
- ETL_DATA_PREVIEW_MAX_REQUESTS
- ETL_DATA_PREVIEW_MAX_TASK_DURATION
- ETL_DATA_PREVIEW_WARMUP_SPARK_SESSION
- ETL_EXTRA_PYLIBS_INSTALL
- ETL_EXTRA_PYLIBS_ALLOW
- ETL_EXTRA_PYBUILTINS_ALLOW
- ETL_EXTRA_PYWHEELS
- BACKEND_LIVE_WIDGET_DATA_CACHE_DURATION
- ETL_KEEP_FILES_DAYS
- ETL_KEEP_DAGS_DAYS
- ETL_TASKS_LOG_LEVEL
- ETL_BROKER_URL
- AW_S3_URL
Удалены переменные:
- AW_FILE_PULLER_INTERNAL_DS_S3_URL
Хранение состояния инкрементальной загрузки переведено в S3. File-puller полностью переведен на работу c S3.
Добавлена новая переменная ETL_PULLER_TIMEOUT, которая указывает ограничение на время обращение к пуллеру из превью или синхронизации модели.
Добавлена переменная BACKEND_LIVE_WIDGET_DATA_CACHE_DURATION для управления жизнью кеша виджетов, построенных на live-моделях.
Проведен рефакторинг папки config.