Добрый день.
Ваша задача относится к теме сегментации клиентов.
Методологически, как обычно, два варианта - через скрипт и в выражениях объектов визуализации.
Решение через скрипт сводится к построению таблицы с агрегатами. Полями рассчитанными по всему массиву данных по продажам.
Например, min(Дата) - первая покупка, min(Дата,2) - вторая, соответственно с max(). (если надо считать интервалы в первых и крайних продажах, мало ли )))
count() для количества и т.д.
today(1)-max(Дата) = дней с последней продажи, так сказать, на сколько дней "потеряшка".
if(today(1)-max(Дата)>7,'Более 1 недели','Менее 1 недели') As СегментДляПотеряшек
и т.д.
Ключевое поле - ИД Покупателя.
Пример:
t1:
LOAD * INLINE [
Чек, Покупатель, Товар, Количество, Сумма
1, А, 100101, 1, 500
1, А, 100102, 1, 200
2, Б, 100101, 1, 500
3, В, 100102, 1, 200
4, Г, 100101, 1, 500
4, Г, 100102, 1, 200
5, Д, 100101, 1, 500
5, Д, 100102, 1, 200
5, Д, 100103, 1, 300
6, А, 100103, 1, 300
7, Б, 100103, 1, 300
];
CalSegment:
LOAD Покупатель,
Count( DISTINCT Чек) as [Количество Чеков],
Count( DISTINCT Товар) as [Количество SKU]
Resident t1
Group by Покупатель;
(Извините, но вы не имеете доступа к галерее)