Сценарии диалогов¶
Типы элементов и их использование¶
В системе реализованы три типа элементов, каждый из которых активируется при выполнении определённых условий, облегчая взаимодействие с системой и обогащая получаемые отчеты.
Эти элементы включают:
- Подсказки
- Дополнительные факты
-
Формы
-
Каждый из этих типов элементов поддерживает создание с использованием функций и логических операторов (
and,or,not), что позволяет настраивать их поведение и условия активации в зависимости от потребностей пользователя и специфики запроса. - Для каждого элемента можно настроить область применения: либо включить опцию "Всем пользователям", либо выбрать конкретные группы (скоупы) из Active Directory. Подробнее о настройке доступных групп см. в разделе скоупы.
Подсказки¶
Подсказки представляют собой дополнительные текстовые сообщения, которые предоставляют пользователю дополнительную информацию о параметрах, используемых в отчете. Они помогают пользователю лучше понять контекст данных, интерпретировать результаты и принимать более обоснованные решения. Подсказки могут использоваться для пояснения методологии расчета показателей, указания на наличие или отсутствие определенных фильтров, предоставления рекомендаций или добавления кнопок быстрого действия для упрощения взаимодействия с системой.
Примеры использования подсказок¶
-
Описание методологии: Подсказки могут объяснять, как были получены данные. Например, если пользователь запрашивает "доход за квартал", подсказка может содержать сообщение: "Доход рассчитывается на основе данных о продажах и подписках, исключая возвраты".
-
Указание на наличие или отсутствие фильтров: Подсказки могут уведомлять пользователя о том, что данные включают весь период, если не был применен временной фильтр. Например, при запросе "объем продаж", подсказка может указать: "Данные предоставлены за весь период. Вы можете применить фильтр по дате для уточнения".
-
Рекомендации: Подсказки могут предлагать дополнительные действия, основанные на данных отчета. Например, если пользователь просматривает отчет "популярные продукты", подсказка может рекомендовать: "Рассмотрите возможность увеличения запаса этих продуктов в следующем месяце".
-
Быстрые действия: Подсказки могут включать кнопки для выполнения популярных операций. Например, если отчет по умолчанию отображает данные за последний месяц, может быть добавлена кнопка "Показать данные за последний квартал", что позволяет быстро изменить период и получить нужную информацию.
Чтобы создать подсказку, необходимо заполнить следующие поля:
- Условие: Непосредственно само условие с функциями, определяющее активацию подсказки.
- Модель данных: Выбор модели данных, для которой создается подсказка.
- Текст: Текст, который будет выводиться в подсказке для пользователя.
- Действие: Всплывающая кнопка под отчетом, которую подсказка предложит пользователю.
Дополнительные факты¶
Дополнительные факты — это предустановленные сценарии или данные, которые система автоматически добавляет к отчетам или запросам пользователя для обогащения информации и обеспечения более полного контекста данных. Они предоставляют дополнительную информацию о связанных параметрах или аспектах данных, что помогает пользователям лучше понимать и анализировать предоставленные результаты.
Примеры использования дополнительных фактов¶
-
Минимальный остаток товаров: Пользователь запрашивает отчет о товарных группах с дефицитом. Система автоматически добавляет информацию о минимально допустимом остатке для каждой товарной группы, чтобы пользователь мог оценить серьезность дефицита и принять необходимые меры.
-
Детали возвратов и компенсаций: При запросе данных о продажах за определенный период система может дополнительно предоставить информацию о возвратах и компенсациях, что помогает пользователю оценить чистые продажи и их динамику.
-
Контекст кампании: Пользователь анализирует эффективность рекламной кампании. Дополнительные факты могут включать номера кампаний и сегменты аудитории, чтобы пользователь мог оценить результаты и провести сравнение между различными частями кампании.
Чтобы создать дополнительные факты, необходимо заполнить следующие поля:
- Условие: Непосредственно само условие с функциями, определяющее активацию дополнительного факта.
- Текст: Текст, который будет использоваться в качестве дополнительного факта в контексте отчета.
Формы¶
Формы представляют собой механизм пошагового взаимодействия в системе, который облегчает пользователям создание запросов и получение отчетов. Они позволяют пользователю последовательно указывать необходимые параметры запроса, что повышает точность и актуальность получаемой информации. Формы способствуют улучшению пользовательского опыта, делая процесс взаимодействия с системой более структурированным и эффективным.
Примеры использования форм¶
-
Выбор параметров отчета: Пользователь выбирает тип отчета (например, финансовый или маркетинговый), указывает период анализа и дополнительные фильтры для получения наиболее релевантной информации.
-
Детализация данных: Пользователь запрашивает отчет по продажам определенного продукта. Форма предлагает выбрать регион, клиентскую группу и другие параметры, необходимые для полного анализа продаж.
-
Пошаговые инструкции: Пользователь использует форму для построения сложных запросов, где каждый шаг определяет новый аспект отчета, такой как сегментация клиентов или выделение ключевых показателей производительности.
Чтобы создать форму, необходимо заполнить следующие поля:
- Условие: Непосредственно само условие с функциями, определяющее активацию формы.
- Шаги: Форма может содержать множество последовательных шагов для уточнения информации от пользователя.
- Шаг:
- Условие: Непосредственно само условие с функциями, определяющее, будет ли запрашиваться этот шаг у пользователя.
- Текст: Текст, который будет выводиться на каждом шаге для дальнейших действий.
- Действие: Всплывающая кнопка под отчетом, которую форма предложит пользователю для дальнейшего взаимодействия.
Функции в сценариях диалогов¶
Функции в сценариях диалогов — это предикаты, которые определяют наличие факта или фильтра, либо наличие факта конкретного названия.
hasFact()— проверяет наличие факта любого типа (и фильтрация, и детализация). В скобках обязательно указывается мета из словаря (признак, показатель, дата). В остальных функциях можно выбирать любую мету или оставить пустыми скобки.hasValueDetailFact()— детализация по любому показателю.hasDateDetailFact()— детализация по дате.hasDateFilterFact()— фильтрация по дате.hasAttrDetailFact()— детализация по любому признаку.hasAttrFilterFact()— фильтрация по любому признаку.hasDateFilterFactWithFormat()- функция может работать по двум сценариям:- Принимает 2 аргумента (
meta_date,format):meta_date- конкретный столбец с датой в модели данных.format- тип формата (year,quarter,month,week,date) Возвращаетtrue, если в запросе присутствует фильтр по кварталу, году, месяцу, неделе или дате по конкретной колонке с датой, которая была указана первым аргументом.
- Принимает 1 аргумент (
format):format- тип формата (year,quarter,month,week,date) Возвращаетtrue, если в запросе присутствует фильтр по кварталу, году, месяцу, неделе или дате по любой колонке с датой из модели данных. Примеры, при которых такой предикат сработает: за два года, за первый квартал, за последний месяц, с января по март и тд.
- Принимает 2 аргумента (
hasDateDetailFactWithFormat()- функция может работать по двум сценариям:- Принимает 2 аргумента (
meta_date,format):meta_date- конкретный столбец с датой в модели данных.format- тип формата (year,quarter,month,week,date) Возвращаетtrue, если в запросе присутствует детализация по кварталу, году, месяцу, неделе или дате по конкретной колонке с датой, которая была указана первым аргументом.
- Принимает 1 аргумент (
format):format- тип формата (year,quarter,month,week,date) Возвращаетtrue, если в запросе присутствует детализация по кварталу, году, месяцу, неделе или дате по любой колонке с датой из модели данных. Примеры, при которых такой предикат сработает: по годам, по кварталам, помесячно и тд.
- Принимает 2 аргумента (
Пример использования предикатов¶
Разберем пример, где выражение с предикатами возвращает true.
Контекст: У нас есть дополнительный факт, который при значении true добавляет разбивку по регионам.
Пример запроса: выручка за прошлый год по месяцам.
Решение: В результате запроса наше выражение вернет true и добавится дополнительная детализация "регион".
Разбор запроса:
- выручка — вытаскивается факт "выручка", то есть
hasValueDetailFact([выручка]) = true. - За прошлый год — фильтрация по дате, то есть
hasDateFilterFact() = true. - По месяцам — детализация по дате, то есть
hasDateDetailFact() = true.
Опциональные факты¶
При активации галочки "Опциональные факты" дополнительные факты из сценария диалога применяются только после выбора модели данных, если они релевантны для неё. Это позволяет системе сначала определить доступные модели на основе явных фактов из запроса пользователя, а уже затем учитывать контекст сценария.
Пример применения:
Допустим, в системе есть:
- Дополнительный факт: "Геолокация = Москва", релевантный только для модели "Анализ региональных продаж".
Пользователь вводит запрос: "Выручка за 2024 год".
-
Без опции "Опциональные факты":
- Система автоматически добавляет факт "Геолокация = Москва" к запросу, что смещает выбор в пользу модели "Анализ региональных продаж", даже если есть другие подходящие модели (например, "Общая статистика").
-
С опцией "Опциональные факты":
- Система игнорирует дополнительный факт до выбора модели.
- Пользователю предлагаются все модели, которые соответствуют явным фактам из запроса (в нашем примере это "Анализ региональных продаж" и "Общая статистика").
-
После выбора модели:
- Если выбрана "Анализ региональных продаж" — применяется факт "Геолокация = Москва" и ответ формируется с учётом этого параметра.
- Если выбрана "Общая статистика" — дополнительный факт игнорируется, так как не релевантен этой модели.
Пояснение логики:
- До выбора модели: система анализирует только явные факты из запроса ("2024 год", "выручка").
- После выбора модели: добавляются факты из сценария, если они соответствуют выбранной модели данных.

