У меня есть таблица транзакций с каждым идентификатором клиента и купленным продуктом. Один клиент мог купить несколько продуктов, которые могли бы быть отдельными продуктами или дополнениями.
Сейчас я пытаюсь создать таблицу перекрестных продаж, чтобы увидеть, какие надстройки являются наиболее распространенными для каких продуктов, но не могу понять, как подсчитать совпадения по нескольким критериям (клиенты, товары и надстройки) в разных строках.
Таблица дат выглядит примерно так:
clientid product ... ...
10 prod 1 ...
11 prod 2
13 prod 1
10 addon 1
... ...
И вывод, который я хочу получить:
x addon 1 addon 2 addon 3 ....
prod 1 # # #
prod 2
prod 3
...
Таким образом, используя таблицу данных в качестве примера, таблица перекрестных продаж будет рассчитывать 1 в продукт 1 вместо аддона 1 (из-за клиентского = 10 купил оба продукта)
Проблема, с которой я сталкиваюсь, заключается в подсчете, когда один и тот же идентификатор клиента соответствует критериям в двух или более строках (купленные продукты и дополнения). В таблице данных содержится почти 300 тыс. Записей, поэтому я не могу сделать это вручную.
Кто-нибудь знает, как я мог это сделать?
Огромное спасибо за помощь!