Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Подсчёт уникальных значений в таблице, Подсчёт уникальных значений в таблице по определенному условию.
 
   Здравствуйте. Товарищи в очередной раз столкнулся с проблемой подсчёта уникальных значений в таблице по 2 условиям. Теперь по-подробнее: имеется таблица с данными кол-вом до 500000 строк в которой есть дата, фамилия работника, данные клиента, код клиента, сумма заявки. Появилась необходимость вести ежедневный учёт продаж по торговому, а также покрытие (сколько клиентов торговый отгрузил в течении месяца) ежедневное, и если сумму продажи по 2 условиям (дата и работник) сосчитать легко, то посчитать кол-во клиентов отгруженных на дату весьма не просто для меня. Проблема заключается в том, что клиент отгружается неоднократно в течении месяца а в расчётах должен фигурировать только один раз, другими словами каждый клиент должен быть в отчёте 1 раз, и в тут дату когда был отгружен впервые работником. Я вложил пример, возможно там будет понятнее.
  Ранее мною уже была поднята похожая тема, и там мне один Товарищ подкинул решение, в виде функции "СЧЁТУНИКЕСЛИМН", но в виду большого кол-ва строк в таблице эта формула вешает компьютер и в итоге закрывает excel. Может есть всё-таки решение в виде формулы для подсчёта таких значений.
 
Цитата
Russo написал:
и там мне один Товарищ подкинул решение
Это был - Sanja
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
Russo написал: но в виду большого кол-ва строк в таблице эта формула вешает компьютер
В той Вашей теме Товарищи об этом предупреждали  ;).
Нужно UDF которую Вам предложили преобразовать в обычную процедуру и запускать ее при необходимости
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Sanja написал:
Нужно UDF которую Вам предложили преобразовать в обычную процедуру и запускать ее при необходимости
Хм, ранее с таким не сталкивался подскажите пожалуйста, что это за преобразование такое. Может порекомендуете статейку какую, чтобы вычитать и набраться ума и сил для решения задачи.
 
Доброе время суток.
Версия на Power Query.
Успехов.
 
Здравствуйте, с данным вариантом решения знаком, но он не подходит. Хотелось имеющимися данными из таблицы наполнять форму. Т.е. каждый день подкидывать обновленную таблицу и чтобы формулами тянулись данные в форму. Исключительно для работников, которые могут разве что нажать кнопочку "обновить", на листе и пользоваться полученными данными.
 
Цитата
Russo написал:
которые могут разве что нажать кнопочку "обновить
Так с Power Query большего и не требуется ;)  Исключительно пополнить данные в таблице на листе "Данные", да на листе "Сводка" нажать кнопку "Обновить" на вкладке "Данные".
Цитата
Russo написал:
чтобы формулами тянулись данные в форму.
У вас же уже тянут, только на таких объёмах... весёлого мало, насколько понял. Может ещё и SQL вариант рассмотреть - Pivot там тоже есть, просто на вход нужно будет подать минимальную дату по групповым полям "Тороговый", "Код". Ну, или сводную по сводной.
Успехов.
 
Цитата
Russo написал: и чтобы формулами тянулись данные в форму
Формулами Вы уже пытались...На таких объемах нужно подход к решению пересматривать
Согласие есть продукт при полном непротивлении сторон.
 
Андрей VG,Sanja, Спасибо! Буду наверное действительно менять в целом подход к решению, а то я на этих формулах залип сильно.
P.S. функция которую Вы мне в прошлый раз подсказали на самом то деле шикарна, жаль что большие объемы данных её убивают :(
 
Попробуйте на 'боевых' данных такой код. У меня, на 550000+ данных, отрабатывает около 20 сек. (+/-)
Скрытый текст
Изменено: Sanja - 18 Фев 2017 01:11:28
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Russo написал: жаль что большие объемы данных её убивают
Да это, собственно, ко всем функциям относится, в т.ч. штатным
Согласие есть продукт при полном непротивлении сторон.
 
Попробуйте через формулу+доп.столбец
 
А вставка Сводной таблицы - что не помогает?
 
openid.mail.ru..., измените отображаемое имя. Сейчас оно  с нарушением правил форума
 
Цитата
belsergey написал: Попробуйте через формулу+доп.столбец
belsergey,  Ваш вариант 'умер' еще на этапе вставки формулы в доп.столбец. Напомню - речь идет о БОЛЬШИХ (около 500 000 записей) объемах исходных данных.

Цитата
openid.mail.ru/mail/vp.polyakov написал: что не помогает?
Ваша Сводная считает вовсе не то, что требуется по задаче
Согласие есть продукт при полном непротивлении сторон.
 
Доброе время суток.
Цитата
Sanja написал:
У меня, на 550000+ данных, отрабатывает около 20 сек.
У меня Power Query в комбинации с SQL запросом к SQL Server обработал 12627608 (тестовая база ContosoRetailDW) за 4 секунды (Power Query, правда, только Pivot делал)  :D
 
Цитата
Sanja написал: У меня..
Цитата
Андрей VG написал: У меня...

:D Андрей VG,  да я не для того, что-бы померяться. Так, констатация.
Маловато у меня еще опыта написания кодов SQL+VBA
Тем более, что Ваша и так взяла  :D
Цитата
Russo  Буду наверное действительно менять в целом подход к решению,
Изменено: Sanja - 18 Фев 2017 23:09:00
Согласие есть продукт при полном непротивлении сторон.
Страницы: 1
Читают тему (гостей: 1)