|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.11.2017, 14:35 | #1 |
Пользователь
Регистрация: 29.05.2017
Сообщений: 13
|
Поиск популярных пар продуктов в чеке
Друзья, здравствуйте. Подскажите, пожалуйста, как реализовать поиск топа самых популярных пар продуктов, покупаемых в одном чеке, инструмент, но он зависает, если более 40000 строк. Хотелось строк 300000 хотя бы. Структура таблицы примерно следующая:
1 столбец: Дата, 2 столбец: транзакция (собственно номер чека), 3 столбец: номер товара, 4 столбец: название товара, 5 столбец: кол-во Т.е. надо найти самые популярные пары, у которых совпадает номер чека как раз. Спасибо. |
18.11.2017, 02:22 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Метод зависит от того, насколько много видов товара (n). Ведь число пар ~n-квадрат. Если n<10000, то можно завести двумерный массив nxn, для каждого чека перебрать все пары и увеличить на 1 соотв. элементы массива.
Если n больше, то массив становится уже слишком большим, и лучше использовать коллекцию/словарь. Число видов товара можно найти, применив инструмент Данные - Удалить дубликаты к КОПИИ столбца "номер товара". Приложите файл, хотя бы 1000 строк.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
18.11.2017, 08:54 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
И именно поэтому быстро это всё работать не может. Особенно с учётом того, что пар в чеке может быть несколько. я, конечно, приношу свои извинения за то, что вмешиваюсь в чужую тему, но, судя по всему, тематика та же, что была в прошлой задаче TC - задача по чекам в вине. Только там в файле нет столбца с номером товара. Но зато представлены данные за 10 дней. Количество записей 51656, уникальных товаров (по названию) - 1048 на выборке из 300000 тысяч количество товаров явно вырастет, но, думаю, что не на порядки (при всё разнообразии, всё-таки ассортимент ограничен). Поэтому, разных товаров <5000. Можно попытаться решить через массив. p.s. файлик от TC всё равно нужен. Чтобы мои домыслы не привели к тому, что время на анализ и написание кода по некорректным данным. Возможно, что задача у ТС поменялась. |
|
21.11.2017, 09:58 | #4 | |
Пользователь
Регистрация: 29.05.2017
Сообщений: 13
|
Цитата:
|
|
21.11.2017, 10:19 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
|
21.11.2017, 10:29 | #6 |
Пользователь
Регистрация: 29.05.2017
Сообщений: 13
|
|
21.11.2017, 12:52 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Импортировал в сиквел [Чеки$]
Создал дополнительную табличку: Код:
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.11.2017 в 12:55. |
21.11.2017, 14:49 | #8 | |
Пользователь
Регистрация: 29.05.2017
Сообщений: 13
|
Цитата:
|
|
22.11.2017, 09:21 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Можно и без дополнительной таблицы:
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.11.2017, 09:44 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как избавиться от пустых строк в товарном чеке | deninok | Microsoft Office Excel | 1 | 23.06.2017 06:48 |
C++ Поиск совпадающих пар чисел | iLeshii | Помощь студентам | 3 | 06.12.2013 15:57 |
Поиск путей между 2 точками 10 пар на поле 36 клетках | Aerowalk | Фриланс | 1 | 09.05.2011 06:08 |