У меня есть таблица транзакций с каждым идентификатором клиента и купленным продуктом. Один клиент мог купить несколько продуктов, которые могли бы быть отдельными продуктами или дополнениями.
Сейчас я пытаюсь создать таблицу перекрестных продаж, чтобы увидеть, какие надстройки являются наиболее распространенными для каких продуктов, но не могу понять, как подсчитать совпадения по нескольким критериям (клиенты, товары и надстройки) в разных строках.
Таблица дат выглядит примерно так:
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 тыс. Записей, поэтому я не могу сделать это вручную.
Кто-нибудь знает, как я мог это сделать?
Огромное спасибо за помощь!
