Excel: как присвоить значения уникальным комбинациям / проверить уникальные комбинации в больших наборах данных - PullRequest
0 голосов
/ 28 сентября 2019

Я анализирую данные о продажах в отчете Excel.Каждая строка представляет проданный продукт.

ticket          product 
20190101203045  Eggs
20190101203045  Pancakes
20190101203045  Happy meal
20190101203045  Coca-Cola
20190101203045  Orange juice
20190102144525  All-Bran cereal
20190102144525  Fruit
20190102144526  Lemonade

Я успешно объединил все продукты с одним и тем же билетом # и разделил их на столбцы:

20190101203045,Eggs,Pancakes,Happy meal,Coca-Cola,Orange juice
20190102144525,All-Bran cereal,Fruit
20190102144526,Lemonade

Для проверки уникальных комбинаций (без конкретныхпорядок) Я использовал простой и эффективный подход, присваивая число 2 (1,2,4,8,16, ...) каждому индивидуальному значению (яйца, блины, счастливая еда, ...), чтобы каждыйуникальная комбинация приводит к уникальному значению при сложении назначенных им значений, например:

20190101203045,1,2,4,8,16       = 31  (only this combination will result in 31)
20190102144525,32,64            = 96  (only this combination will result in 96)
20190102144526,128              = 128 (only this combination will result in 128)

Это очень хорошо работает с небольшим количеством значений, я бы просто СУММАЛ эти значения и искал дубликаты, но файлыЯ анализирую, может иметь до 2000 различных значений (продуктов), поэтому этот подход больше не работает (числа становятся БОЛЬШИМИ).

Есть и другие подходы, такие как использование формул, но на листах есть тысячи строк (тожемного обработки), поэтому я ищу более креативное, эффективное решение.

Любая помощь приветствуется

1 Ответ

1 голос
/ 28 сентября 2019

Из описания вашего подхода я считаю, что вы можете легко сделать это с помощью Power Query, но это может занять некоторое время вычисления.

Попробуйте визуализировать это ...

  • Загрузить свои данные (2 столбца: билет №, товар)

  • Поворот по номеру билета в столбце

  • Удалить номер билета в столбце

  • Удалить повторяющиеся строки

  • Добавить новый индексный столбец, назовите его Уникальные продажи

Теперь вы 'сделано.Каждая строка представляет собой уникальную комбинацию.

(Правка) Первоначально рекомендуется отменять поворот как последний шаг (упс), не делайте этого.

...