Цитата |
---|
Мотя: Решили послать сходить купить выпить |
ЗЫ
!с новым годом!
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
14.12.2015 19:58:17
Васильев Вася, а как Вы делаете консолидацию? Почему должны быть открыты файлы в этот момент?
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
12.12.2015 10:01:25
Когда я начинал аксесить - то часто лепил запросы бездумно, в конструкторе, забывал про индексы, строил запросы на запросах (на запросах...), включал много лишнего (а вдруг пригодится). Потов виде сводной ещё и включал фильтры по куче полей и по ним же разворачивал структуру отчёта. В результате удивлялся тормозам и вылетам с недостаточностью памяти. Поскольку 32битный винXP адресует только 4 ГБ ОЗУ и при этом резервирует на себя 2 - нашёлся ключ запуска как перераспределить на 1+3. Не очень помогло. Потом заметил в диспетчере процессов - сколько бы ни было процессоров (1-2-4-8 ) каждый занят ровно на 50% процессом аксеса (не больше). Начал рыть в этом направлении. Не успел - пришло понимание, что проектировать-то БД надо с умом и тогда, как говорил Гейтс 30 лет назад "64Кб хватит на все задачи".
ЗЫ "Ошибки" в первом посте мои личные, не надёрганные с юмор-сайтов и не фотошоп За каждой из них (кроме случайных) стоит реальная работа и осознание своих ошибок, а не проектировщиков ПО, ОС или железа. ЗЗЫ Публикуется впервые и эксклюзивно для Планеты )
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
11.12.2015 23:50:52
ИМХО:
- SSD помогает только если надо быстро открывать/закрывать всё время что-то - размер xslx файла - не показатель, ибо там некая компрессия, он заведомо меньше CSV например - не понял зачем открывать сразу все файлы - экран-то один (ну пусть 4-8 , но глаз-то всего 2, ну с очками 4 ), а при правильных подключениях всё переливается с места на место без открытия (sql, xls, csv в разных комбинациях) - аксес надо правильно спрашивать чтобы он правильно отвечал (моя любимая ошибка: завершение транзакции не возможно по причине того что она ещё не начата ), а поставить в тупик можно даже виндос-калькулятор ("операция займёт больше времени чем ожидалось") вывод: не работать с raw-данными постоянно в он-лайне без крайней необходимости, а считать некие агрегаты и сохранять их в хранилище, а уже из него стоить модели и отчёты. ЗЫ
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
06.12.2015 18:39:43
Насчёт счёта уникальных: вот вариант с доп.столбцом.Как его упаковать в вирт.массивы пока не вижу. Если он в принципе то что надо делает - бум думать дальше.
На самом деле это уже совсем новый вопрос - давайте в новую ветку его и с новым примерчиком попроще и с моей формулой в качестве образца куда надо упаковать доп.столбец. Во-первых - правила Форума (1 вопрос - 1 тема), во-вторых в новой ветке откликнутся быстрее с чистого листа . ЗЫ. Ваши данные в последнем примерчике покорёжил для наглядности.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
06.12.2015 10:45:26
Acid Burn,не заметил вчера слово "уникальные" : это уже новая задачка будет тогда. Тогда вопрос: а они откуда берутся: из справочника (таб.4, напр.) или непосредственно в данных (таб.2)? Ели из справочника - там их и считаем (они там уникальны), если из данных - опять придумываем трюк. Но лучше бы справочник, а ввод в таб. 2 ограничить как раз списком значений из справочника.
2. Да вроде как в смартах либо через перемещение столбца листа (с шифтом) либо через создание пустого и перенос формулы. 3. а вообще у Вас данные все структурированы хорошо - Вам бы SQL или даже аксесс подошли лучше. Там это всё без трюков на уровне движка само делается, только указываете что с чем связано, а дальше простенькие запросы. Отчёт (или даш-борд) можно потом красивый на выходе уже в екселе собрать, подтянув обобщённые данные (типа таб.3). 4. а как Вы хотите "виртуальный массив подстановки"? Данные то всё равно с листа брать надо (таб.1). Если это справочник констант - вычислите по F9 и загоните в "имя", но дополнять потом- только в диспетчере вручную. Если табл.1 , кстати , сделать смартом, то "имя" можно привязать в полям смарта, а потом обращаться в формулах по имени к "вирт.массиву" и рыться в нём, напр., ВПР. При этом имя будет резиновым, будет расти вместе со смартом. Но опять же это всё "имитация из сурими" настоящей СУБДшки, а у Вас именно она и вырисовывается, похоже.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
05.12.2015 20:36:05
1. Точно СУММЕСЛИМН быстрее? не уверен
2. Смарты не работают только с несколькими файлами! Точнее работают только пока файл-источник открыт. Когда закрыты - даже кешированных данных нет (как при обрыве простой связи) 3.
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|||
|
05.12.2015 20:08:53
Acid Burn, F:F и B:B заменили на ограниченные диапазоны и всё-равно тормозит? странно. Может и обращение к таблице2 ограничить? или сделать смартовой её?
А что даёт замена суммесли на суммеслимн? У нас же один критерий но он - массив. То есть мы прогоняем как бы в цикле суммирование по 1 критерию из массива, а потом суммируем и их результаты. Из-за того что заранее не знаем сколько "ИЗА" соответствует 1 "пр-во".
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
05.12.2015 20:01:22
2 all:
было бы неплохо обрезать пустой хвост массива: ЕСЛИ( F:F=N5;B:B; "" ). Только не динамическим диапазоном (по проверке заполненности строк таблицы 1), а как-то по-массивовски схитрить, только не соображу как.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
05.12.2015 19:52:23
Acid Burn, в последнем моём файлике все ок. Только тормозит. Если у Вас таблица1 не бесконечная лучше ограничить формулу по строкам из столбцов FF и BB или сделать смарт-таблицей и обращаться по имени заголовка поля
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
05.12.2015 19:44:18
Kuzmich, в исходном, да! я по своему дал формулу, а в моём столбик лишний. Экспериментировал и забыл убрать Торопыжка.
Acid Burn, это оно? ЗЫ.ФМ закрывать не на диапазоне ячеек, а на 1 ячейке, а на остальные потом растянуть.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
05.12.2015 19:27:22
упс, чуть поправил
UPD: опять перезалил файл, не закрылась 1 ячейка как ФМ
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|||
|
05.12.2015 17:15:16
пересчёт листа (как F9 вручную ) можно vba периодически заставить делать (напр., 1 раз в 10сек), но данные-то будут старые? если это источник, то можно принудительно периодически обновлять связь с источником (как alt-F5)? заодно и формулы пересчитаются и покажут текущее время.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
03.12.2015 20:42:37
Бывает даты сами нормальные, но если они сохранились как текст (например при вставке откуда-то), то придётся менять формат ячейки и заходить в каждую чтобы она пересохранилась как дата (иногда вылезает волшебный флажок и предлагает исправить, но не всегда). Можно скопипастить столбец "дат" в блокнот, а потом обратно тогда они станут настоящими датами. Можно умножить на 1 . Чтобы увидеть где дата не настоящая - можно поменять формат ячейки на дату с текстовым месяцем, например ("1мар 2015"), при этом не настоящие останутся числовыми.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
03.12.2015 20:14:21
так то в Меланезии! От меланину наверное. Вот нескафе сколько раз попадался на добавлении меланина в молоко детское.
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|
|
01.12.2015 20:37:37
При правильно поставленном оном, обычно если есть 1С и хоть 1 техпод к ней всё решается рисованием ему шаблонов выгрузки нормального вида. Выгрузки ставятся на периодическое задание и к ним подцепляется Аксесс. Собственно в Экселе остаётся только строить экономические модели и привязывать к ним готовые агрегаты, вытянутые из Аксеса. Ну или если это задача найти то не знаю что - то в самом аксесе непосредственно.
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|||
|
30.11.2015 22:09:26
Изменено:
Программист - человек, который решает задачу, о которой никто не знает, таким способом, который никто не понимает.
|
|||
|