0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
1 | |
Экспорт и последующий анализ данных spc09.09.2013, 16:41. Показов 7343. Ответов 126
Метки нет (Все метки)
приветствую!
программист я не очень)) но имеется желание облегчить себе жизнь) собственно суть: имеем файл базы данных spc (лог системы контроля параметров) во вложении, данный фаил содержит примерно сутки работы системы количество строк всегда 10002 количество столбцов при преобразовании может варьироваться необходимо: 1. наладить импорт из данного файла в таблицу Excel, ну или экспорт (с этим у меня пока самая большая проблема) предполагаю что в конечной таблице должна открываться юзерформа где можно указать путь к файлу из которого нужно взять данные при этом копируемые данные должны помещаться в начало листа 2.после переноса в основной файл должны ракладываться в нормальные столбцы и проверятся на ряд параметров : Во первых должны удалятся строки содержащие хотя бы одно 0 значение, во вторых в конце массива могут содержаться дубли уже внесенной ранее информции т.к. лог снимается вручную втретих нужно проводить проверку на наполнение листа т.е при достижении 1кк строк начинать новый лист. 3. на отдельном листе или в юзерформе создать группу графиков с изменяемым интервалом дат т.е забиваем дата/время начало-дата/время конец и получаем графическое отображение изменений данных параметров. собственно вопросы следующие: насколько это реализуемо средствами excel/vba как реализовать п 1. п.2 сейчас потихоньку делаю сам, хотя как конролировать наполнение листа тоже пока не представляю.
0
|
09.09.2013, 16:41 | |
Ответы с готовыми решениями:
126
Обработка множества документов word/pdf и последующий семантический анализ их содержимого Ввод данных в Input и их последующий вывод на странице Поиск данных в текстовом файле и последующий вывод SQL: Группирование записей таблицы, и последующий вывод данных |
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
|
|||||||||||
09.09.2013, 17:15 | 2 | ||||||||||
Сообщение было отмечено Памирыч как решение
Решение
п1
Добавлено через 13 минут И забыл. Вот функция с примером использования, для того чтобы спросить юзверя где файл
1
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
||||||
09.09.2013, 17:42 | 3 | |||||
Ну в общем после открытия файла используйте макрос:
1
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
||||||
09.09.2013, 17:54 | 4 | |||||
Или так. Он попросит, а Вы укажите ему *.csv файл
Кликните здесь для просмотра всего текста
Это по п.1. Добавлено через 12 минут А это я не понял:
1
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
09.09.2013, 18:27 [ТС] | 5 |
toiai, Спасибо, в принципе эту часть я макрорекордером записал и потом правил.
Пока вижу одну проблему если сначала переносить данные в конечный фаил то копирование идет не совсем верно первый цикл ОК а вот второй, столбец А смещается вниз при копировании но уже разложенные данные столбцы B,C и т.д остаются на месте В правы имелись ввиду пустые ячейки, пустая ячейка значит что комплекс в целом не работал, работали только отдельные узлы в ручном режиме, для статистики эти данные бесполезны.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
||||||
09.09.2013, 18:30 | 6 | |||||
Если брать за основу мой код, тогда перед End Sub вставляете фразу Call mRemoveDublicate_DeleteEmpty.
После End Sub вставляете в модуль эту процедуру. Удалит дубликаты и строки, в которых хотя бы одна пустая ячейка (вот не нашел я с 0, хоть убейте ) Кликните здесь для просмотра всего текста
Это же можно применить и к коду toiai. Если он не против.
2
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
09.09.2013, 18:50 [ТС] | 7 |
технически их там и не может быть узел либо работает и тогда есть значение параметра отличное от 0 или не работает тогда пустая ячейка. В коде toiai, принципиально важно это автозамены без них у Excel срывает крышу из-за . вместо ,
0
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
|||||||||||
09.09.2013, 21:51 | 8 | ||||||||||
Сообщение было отмечено как решение
Решение
По удалению строк с пустым значением в ячейке могу предложить вариант:
И все-таки предлагаю более корректный способ удаления строк с пустой ячейкой(ами):
3
|
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
09.09.2013, 21:54 | 9 | |||||
Сообщение было отмечено как решение
Решение
Здравствуйте,
Тогда и я предложу свой вариант удаления пустых строк .
С уважением, Aksima
3
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
09.09.2013, 22:05 | 10 |
Обожаю SpecialCells. А к EntireRow - все-таки с опаской....
0
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
09.09.2013, 22:14 [ТС] | 11 |
Спасибо всем за советы и подсказки
В общем пока вот что получилось, анализировать нужно файл из первого поста пока проблемы с функцией удаления, я пока не понимаю ее логики по факту: вариант Igor_Tr и второй вариант toiai удаляет все первый вариант toiai и вариант Aksima не удаляет ничего p.s. то что сделано сборник , и часть кода проверялась методом научного тыка но пока так
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
09.09.2013, 22:23 | 12 |
Что значит: "...удаляет все..."? То что нужно, или вобще все? У меня выдаляет только нужное. И варианты toiai и Aksima должны так работать...
0
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
09.09.2013, 22:28 [ТС] | 13 |
Igor_Tr, верхние 2 строки остаются те которые шапка, а данные все сносятся, может я что-то не так делаю.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
09.09.2013, 22:28 | 14 |
Посмотрел Ваш вариант. Иииинтересная у Вас функция получилась с моего кода... Не изобретайте... А то не полетит. Если бы я, toiai, Aksima имели ввиду функции - так бы и написали. Думаю, все мы не гады... В душе, глубоко...
1
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
09.09.2013, 23:00 [ТС] | 15 |
Igor_Tr, кусочками отлаживать удобнее и смотреть как работает)) а это сильно влияет?
Добавлено через 10 минут собрал все в кучку без функций все равно удаляется все Добавлено через 8 минут собрал только ваш код все равно все кроме шапки удаляется Добавлено через 11 минут а вот если к DataLogSPC.csv добавить макрос с кодом toiai, тогда все работает.
0
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
||||||
09.09.2013, 23:19 | 16 | |||||
Проверил, все работает. Вот общий код:
1
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
09.09.2013, 23:21 | 17 |
Нет, ну я гурман. Люблю кусочками - улитки, змеи, тараканы... Если уметь готовить... А код нужно ПОШАГОВО!!! Нажали F8 - посмотрели, нажали F8 - посмотрели....
Пробуйте, там чуть комбинировано - мое и toiai. Дальше сами комбинируйте, если нужно. А функции - очень хорошее дело, но иногда это как супер мини-юбка на похоронах.
1
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|||||||||||
10.09.2013, 14:24 [ТС] | 18 | ||||||||||
В общем как-то так получилось:
Кликните здесь для просмотра всего текста
не разобрался как добавить автозамену в первый блок, а при проведении автозамены после разбиения по столбцам в некоторых столбцах данные отображаются некорректно.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
10.09.2013, 16:05 | 19 |
Если честно - то я не понял.
1.Вы проверяете кол-во строк раб. диапазона, и если их больше "явно заданое число" минус "явно заданое число" (1048576 - 10002 (почему сразу не написать 1038574)) и потом вставляете вверху 10002. Можна узнать, чем вызвано? И мне кажется, что при таком условии буде ошибка (нужных строк получится больше 1048576). 2. Вы "продублировали" работу - мой код и код toiai (пройдитеcь F8). Два раза одно и тоже, но другими словами. 3. С названием листа... Оно у Вас работает? Я там как-то по другому выражался... Но если работает (а я сомневаюсь) - пусть остается. 4. Что вы имели в виду, когда говорили "автозамена"? Если относительно кода toiai, то там все немного по другому. Когда Вашы даные в *.csv попадают на лист Excel, они все размещены только в ПЕРВОМ столбике. И вот код toiai его быстро приводят к нужному, а потом раскидывают по столбцам, ориентируясь по запятым.
0
|
0 / 0 / 0
Регистрация: 01.09.2013
Сообщений: 66
|
|
10.09.2013, 16:26 [ТС] | 20 |
Igor_Tr,
2. не совсем продублировал, Ваш код сейчас переносит из файла *.csv фактически один столбец, потом начинает работать код toiai, проводит замены "," на ";" и "." на "," (без этой автозамены разложенные на столбцы значения некорректно читаются) и раскладывает на столбцы по ";". 1. Когда Ваш код отрабатывает он фактически смещает вниз только столбец А остальные данные остаются справа и при разложении их смещает вправо а не вниз для того чтобы этого не происходило добавляем 10002 строк (размер *.csv всегда такой) смещая ранее загруженный диапазон. насчет почему не 1038574, не сообразил. в любом случае если в документе 1038574 строки то еще 10002 влезет если не влезет создаем новый лист. 3.с названием листа не работает) пока не было первого пустого листа вроде работало а теперь все равно второй лист называет *_2 после второго цикла загрузки данных, как назовет третий пока не проверял. 4. в *.csv числовые значения разделены точкой из-за чего после разложения на столбцы читаются некорректно, особенно те столбцы где значение подходит под формат даты.
0
|
10.09.2013, 16:26 | |
10.09.2013, 16:26 | |
Помогаю со студенческими работами здесь
20
Чтение из файла данных и последующий вывод на экран в виде линейного однонаправленного списка Копирование строки. При вводе пробела программа пропускает последующий ввод данных Экспорт данных из базы данных *.DB в Word через Table (DateSet) Как сделать экспорт данных из таблицы базы данных MSSQL 2008 в Excel на php? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |