Это третья часть серии «23 фичи Luxms BI, которыми мы гордимся». В первой мы говорили о платформенности и архитектуре, о том, на чем держится система. Во второй – о классическом BI-функционале, который делает систему BI-системой.
А сегодня мы расскажем, что происходит, когда бизнес-задачи перерастают рамки стандартной аналитики. Речь пойдет о функциях, которые превращают Luxms BI из инструмента визуализации в платформу для решения сложных, специализированных задач. Именно эти возможности наши заказчики чаще всего характеризуют фразой «а вот это – действительно больше, чем BI».
Показатели со сложным расчётом
На одном из «BI-дней», который мы проводили, сотрудник заказчика рассказал кейс, который стал для нас символичным. Он сказал, что делает на Luxms BI то, что не может сделать ни в одной другой системе, включая зарубежные – QliK и Power BI. Он показал параметризованный SQL-запрос с 14 уровнями вычислений, который позволяет внедрять в расчет на каждом уровне только необходимые для этого уровня фильтры.
И это то, что действительно сложно повторить в классическом BI, обычно BI либо считают «на один шаг», либо требуют вынести всю подготовку в DWH или ETL, или требуется кастомная разработка.
Здесь расчет живет внутри платформы, параметризуется фильтрами пользователя и при этом быстро и управляемо работает.
На практике это дает возможность строить действительно сложные метрики – многошаговые, многоуровневые, зависящие от контекста и пользовательских параметров. Это не просто «еще одна техническая фича». Это принципиально иной подход к построению сложной аналитики.
Скользящее среднее: от простой агрегации – к сложной логике
Представим таблицу со статистикой продаж товаров по магазинам сети. Бизнес просит показать данные по 5-дневному скользящему среднему, то есть за каждый день показать среднее значение по продажам за этот и 4 предыдущих дня. На выходе мы будем иметь таблицу из двух полей - дата и искомая величина. Для расчета нужно:
сначала сгруппировать данные по дням, например посчитать сумму продаж за каждый день
затем для каждого дня взять текущее значение и четыре предыдущих
посчитать из этих значений среднее
Пусть есть таблица t , где хранятся данные по продажам. Сначала мы из таблицы группируем данные за каждый день:
select dat, sum(val) day_val
from t
group by dat
order by dat
Из этого подзапроса для каждой даты берём с помощью оконной функции значения за текущий и четыре предыдущих дня, считаем среднее:
select dat, avg(day_val) over (order by dat ROWS BETWEEN 4 PRECEDING AND current ROW)
from (
select dat, sum(val) day_val from t
group by dat
order by dat
) q
Так мы получаем таблицу «дата – значение». Но в реальности пользователь задает множество условий: регион, группу товаров, канал продаж, тип магазина, время покупки, день недели и т.д. И здесь возникает вопрос: куда подставлять эти фильтры?
По умолчанию BI накладывает их на результат запроса, то есть попытается отфильтровать таблицу из двух полей и мы получим ошибку, что поля, по которому делается фильтрация, не существует. Соответственно, нам нужно включить фильтрацию внутрь расчета.
Для этого и существует конструкция ${filters()}. Мы просто добавляем ее во внутренний запрос, и расчет начинает учитывать выбранные пользователем параметры:
select dat, avg(day_val) over (order by dat ROWS BETWEEN 4 PRECEDING AND current ROW)
from (
select dat, sum(val) day_val from t
where ${filters()}
group by dat
order by dat
) q
То есть пользователь выбирает необходимые фильтры, данные о продажах считаются уже с учетом этих фильтров, и расчет скользящего среднего автоматически пересчитывается также с учетом этих фильтров.
Второй мощный сценарий – ускорение запросов
Пример: у нас есть огромная таблица фактических значений (миллионы строк за несколько лет), которую нужно соединить с таблицей плановых значений, чтобы потом посчитать проценты выполнения плана. Пользователь хочет увидеть данные за квартал.
Если сначала соединить все факты со всеми планами, а потом уже применять период из управляющего дэша – это закономерно будет работать долго.
Гораздо эффективнее сначала ограничить обе таблицы по нужной дате, а потом уже соединять и накладывать остальные фильтры. Через ${filters()} это делается прямо внутри запроса:
with plan as (select .... where ${filters(dt)} ),
fact as (select .... where ${filters(dt)} )
select * from plan
left join fact on (....)
where ${filters(except(dt))}
Сначала выбираем только те строки плана и факта, которые попадают в нужный период, затем объединяем эти уже «ужатые» выборки, и только после этого применяем остальные фильтры. Это заметно ускоряет расчет процентов выполнения плана и любых похожих показателей.
Почему это больше, чем BI
Речь идет уже не просто о «поддержке сложных вычислений». Речь о том, что Luxms BI позволяет строить многоэтапные, параметризируемые, глубокие расчеты – внутри BI, в тесной связке с фильтрами, агрегациями и логикой источника. Не где-то «рядом», не в отдельном ETL-процессе, а в момент запроса, быстро и гибко. Это уже не уровень «построить метрику», это возможность проектировать вычислительную логику внутри BI также гибко, как в инструментах аналитической разработки. Luxms BI работает не как потребитель данных, а как движок, который умеет эти данные обрабатывать.
«Мы думаем, что то, как мы умеем работать с данными внутри Luxms BI, это очень сложно, очень продвинуто. И это точно «больше, чем BI». По крайней мере, классический BI, даже зарубежный, этого не умеет, по мнению наших заказчиков».
Александр Тютюнник, Директор по развитию бизнеса ГК Luxms
WRITE-BACK и формы ввода
Есть классический сценарий, знакомый почти каждой компании: сотрудникам нужно регулярно вводить и обновлять данные – планы, факты, справочники, оперативную информацию и т.д.. И хоть все вокруг говорят про цифровизацию, но используют для таких задач все равно Excel – быстро, просто, привычно! Но с этим удобством приходят и стандартные проблемы – разрозненные форматы, десятки версий одного файла, ошибки в ячейках, которые никто не заметил, и, конечно же, постоянная переписка в стиле: «проверь, пожалуйста, я тут поменял».
Можно внедрить BI, построить хранилище, но ручной ввод никуда не исчезнет, потому что он нужен – некоторые справочники живут в подразделениях, информацию собирают по филиалам, корректировки нужно заносить оперативно, а не через длинный цикл загрузки. Вопрос в том, как правильно это организовать.
Финансовый аналитик видит в отчете аномалию и понимает, что нужно скорректировать плановый показатель. В классическом сценарии ему пришлось бы искать исходную таблицу, вносить изменение, перезагружать данные для обновления дэшборда. В Luxms BI он может сделать это быстро и удобно.
Luxms BI предлагает два инструмента для решения этой задачи.
Инструмент 1. Write-Back
Это возможность напрямую вносить изменения в данные, прямо в таблицах на дэшборде можно:
кликнуть по ячейке и изменить значение
выбрать вариант из списка
выделить несколько строк и скопировать в них значения или формулы
удалить строку
массово отредактировать несколько записей
Все правки можно отменить до момента сохранения, что исключает случайные ошибки.
Работает быстро, нативно, «как будто Excel встроили в BI». И, что важно, все проверки и ограничения задаются заранее – что можно редактировать, какие типы значений допустимы, что автоматически пересчитывается.
Это решает простой, но массовый класс задач – корректировки, комментарии, уточнения, разовые правки.

Но для некоторых задач нужно другое решение. Есть вводы, которые должны проходить строгие проверки, иметь обязательные поля, работать по установленным маршрутам согласования, хранить историю изменений и обеспечивать корректность данных еще до того, как они попадут в аналитику. То есть речь идет уже не о паре правок в таблице, а о полноценном контуре управления данными.
Инструмент 2. Полноценные формы ввода
И тут мы используем Luxms BI Masterdata Edition – решение для ввода, сбора и консолидации данных прямо в BI-платформе. Пользователи заполняют форму, система автоматически проверяет формат значений и бизнес-правила, отправляет введённые данные на согласование, фиксирует историю правок, а потом помещает результат в централизованное хранилище. В итоге ручной ввод перестает быть источником хаоса и становится частью управляемого процесса, который встроен в общую архитектуру данных компании.
Вместо хаотичного обмена файлами – единое пространство, где данные сразу попадают в систему и моментально отражаются в аналитике.

Формы ввода позволяют задавать сложные структуры, обязательные поля и справочники, автоматически проверять формат и допустимость данных, а главное, гарантировать, что данные корректны еще до того, как попадут в хранилище и BI.
Excel – это не плохо.
Плохо – когда он неуправляем.
Почему это важно и почему это больше, чем просто BI
Ручной ввод данных – это не «мелкая фича». Это один из тех процессов, на котором держатся планы, операционка и тысячи ежедневных решений. Когда ввод неуправляемый страдает все – от доверия к данным до скорости управленческих решений. А мы в Luxms решаем эту проблему фундаментально, переводя ручной ввод в управляемую, проверяемую и согласуемую систему, соединенную с аналитикой в один контур.
Регламентная отчётность
Отчетность – это то место, где классическое BI часто сталкивается с ограничениями. Визуализировать данные – это одно, а управлять потоками официальных отчетов, обеспечивать контроль версий, согласование, автоматическую рассылку и при этом сохранять гибкость и прозрачность процессов – совсем другое. В Luxms BI мы подошли к этой задаче комплексно: платформа не просто выводит отчеты, она управляет всем циклом их формирования и распространения.

Система поддерживает шаблонизированную и регламентную отчетность. Пользователь может создавать собственные шаблоны, подстраивать размеры именованных областей, добавлять новые ячейки, делить отчет на несколько листов, а затем автоматически подставлять данные из BI в эти шаблоны. И при этом внутри отчета сохраняются все привычные Excel-формулы и гиперссылки – значения считаются, ссылки работают, топовые показатели автоматически выделяются.
Есть и более сложные вещи. Например, возможность выводить мета-информацию из BI – кто выгружает отчет, когда, какие фильтры применены или не применены в ходе выгрузки. Можно дополнять отчет данными, которые есть только в BI и отсутствуют в исходных данных.
Шаблоны, которые понимают Excel
Одна из ключевых возможностей, которую особенно ценят наши пользователи – работа с Excel-шаблонами.
На практике это выглядит так:
Вы создаёте шаблон в привычном Excel с формулами SUM, VLOOKUP, IF и другими
BI подставляет данные в указанные области шаблона
При выгрузке все ваши формулы сохраняются и автоматически пересчитываются
Например, BI подставляет данные в таблицу, а в подвале таблицы итоги автоматически считаются средствами самого Excel. Это стирает грань между статичным отчетом и живой аналитической моделью.
Можно сказать «вишенка на торте» – возможность внутри шаблонов использовать стандартные формулы Excel.
Интерактивные презентации – «живые» отчеты для совещаний
Отчет часто не конечная точка. Поэтому мы разработали механизм интерактивных презентаций, где каждый слайд это экран с текущим контекстом анализа.
Можно воспроизвести презентацию в интерфейсе и на слайдах будет доступен весь функционал BI. Если во время доклада возникает вопрос, то прямо на слайде можно переключить фильтры или открыть другой экран, а затем вернуться к следующему слайду презентации.

Автоматизация и рассылки
В Luxms BI встроен функционал рассылок. Отчеты могут уходить в формате xlsx, csv или docx, с настройкой периодичности, времени отправки, получателей и фильтров. Все это позволяет гарантировать, что нужные пользователи получают актуальную информацию без дополнительной ручной работы.
Почему это больше, чем BI?
Классические BI-системы в большей степени воспринимаются как системы визуализации, а не отчетности, их сила в возможностях исследования данных «здесь и сейчас».
Мы же целенаправленно движемся в направлении работы с отчетами, как продолжением работы с обычными для BI-систем визуализациями. Это превращает BI-систему из инструмента для аналитиков в платформу, которая реально закрывает потребности бизнеса в работе с данными на всех этапах – от исследования до представления результатов.
Продолжение следует
В следующей, заключительной статье цикла, мы покажем самые уникальные возможности Luxms BI – то, чего вы не встретите больше нигде и ни у кого, не только среди российских, но и среди зарубежных платформ. Речь пойдет о фичах из категории «ни у кого больше нет».
Если вы дочитали до этого места (спасибо вам за это!), значит вы уже на шаг ближе к тому, чтобы больше никогда не спрашивать: «А сможет ли ваша BI-система…?». Подписывайтесь на нас, следите за обновлениями, впереди много интересного!
Здесь наш телеграм канал, а здесь комьюнити, тоже приглашаем подписаться :-)