Перейти к содержимому

Фотография

Хочу использовать Excel как помощь в сравнении больших таблиц


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Pirate

Pirate

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Макс Лем

Отправлено 17 июля 2018 - 10:44

... Но не могу понять как. 

Всем привет. Меня зовут Макс и я - начинающий тестировщик с бекграундом сисадминства.

Есть необходимость протестировать заливку данных (45000 строк). Чтобы покрыть 100% необходимо сравнить сурс файл с экспортированным отчетом с сайта. Если обе таблицы одинаковы - профит.

 

Инстинктивно понимаю, что Excel должен справится с этой задачей, но гуглил-гуглил и пока - никак. Есть функция Vlookup (ВПР) и я думаю она должна как-то помочь, но вот не могу понять как. Она возвращает некое значние, а мне надо просто на выходе: либо равны две таблицы либо нет. 

Можно, например, сравнить в каждой таблице только уникальные столбцы (№ аккаунта) и первую и последнюю строки.

 

В общем суть вопроса такова.

Большие спасибо если кто поможет или даст ссылку на почитать/разобраться.

 


  • 0

#2 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 17 июля 2018 - 10:54

Попробуйте вот тут порыться - https://www.ablebits...l-files-sheets/   Вообще неплохой ресурс про работу с экселем.

 

Я бы, конечно, лучше автоматизировал это на питоне (или другом ЯПе).

 

P.S. 45 тыс. строк это маленький файл :)


  • 0

#3 Pirate

Pirate

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Макс Лем

Отправлено 17 июля 2018 - 10:58

P.S. 45 тыс. строк это маленький файл :)

Это выборка для проверки из 12 млн записей ))

 

Большое спасибо за ответ. Прям сейчас буду рыться.


  • 0

#4 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 18 июля 2018 - 14:18

я бы сравнивал построчно, можно даже VBA, чтобы не ковырять, но питоном конечно проще:

 

 

table = file.open()

for line i table:

 etalon = some_sql_here_for_get_needed_row

 if etalon != line:

  sys.exit("AHTUNG! AHTUNG! DOUBLE PENETRATION ALARM!")

sys.exit(0)


  • 1

#5 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 18 июля 2018 - 20:02

Гугл даёт множество способов сравняемся таблиц. Кроме ВПР что ещё пробовали? Порядок строк имеет значение? Результат в каком виде должен быть? Можно ВПР, Если, сводные таблицы, vba, fc в cmd для CSV. Да много чего можно придумать. Задавайте более конкретные вопросы, если в каком то методе непонятно как делать.
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#6 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 19 июля 2018 - 08:15

Один из самых простых способов:

Total comander -> файлы -> сравнить по содержимому

 

Единственное, не знаю ограничения по объему.


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#7 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 23 июля 2018 - 09:31

Есть необходимость протестировать заливку данных (45000 строк). Чтобы покрыть 100% необходимо сравнить сурс файл с экспортированным отчетом с сайта. Если обе таблицы одинаковы - профит.

Что значит одинаковы?

  1. Если в одном файле в полях появились концевые пробелы — это значимое отличие?
  2. Если разные окончания строк — это отличие?
  3. Важен ли формат строк, чисел, дат? ("тест" и "Тест" — это одно и тоже? А 4 и 4.0? А 22.12.2018 и 22/12/208?)

Что вам важно будет знать, если файлы вдруг неодинаковы:

  1. Строки, которые отличаются и дальше уже выверка глазами вручную?
  2. Конкретные расхождения в данных (в каком поле, как именно отличаются?)

Ну и 45 тыс. для 12 млн — это нерепрезентативная выборка для сравнения и тестирования миграции данных


  • 0

#8 Pirate

Pirate

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Макс Лем

Отправлено 30 июля 2018 - 10:31

Большое спасибо за ответы. 

 

 

Есть необходимость протестировать заливку данных (45000 строк). Чтобы покрыть 100% необходимо сравнить сурс файл с экспортированным отчетом с сайта. Если обе таблицы одинаковы - профит.

Что значит одинаковы?

  1. Если в одном файле в полях появились концевые пробелы — это значимое отличие?
  2. Если разные окончания строк — это отличие?
  3. Важен ли формат строк, чисел, дат? ("тест" и "Тест" — это одно и тоже? А 4 и 4.0? А 22.12.2018 и 22/12/208?)

Что вам важно будет знать, если файлы вдруг неодинаковы:

  1. Строки, которые отличаются и дальше уже выверка глазами вручную?
  2. Конкретные расхождения в данных (в каком поле, как именно отличаются?)

Ну и 45 тыс. для 12 млн — это нерепрезентативная выборка для сравнения и тестирования миграции данных

 

 

В принципе, для результата хватит сравнить общее количество строк, точное совпадение всех значений поля ACCOUNT (оно не уникально в данной таблице) и уже визуально сравнить с десяток строк полностью.

Я решал вопрос пока полуавтоматизировано. Сделал в экселе view side by side, отсортировала по полю ACCOUNT и бегло синхронно скролил вниз. Отличий не было. количество строк совпало - все ОК. Но небыстро.

Полностью строки сравнивать в моем случае смысла нет, т.к. экспортированный отчет с сайта может содержать лишние поля и значения. 

 

На выходе мне бы подсветить разными цветами строки, которые отсутсвуют в одном файле и присутствуют в другом (по значению поля ACCOUNT). 

Если по-простому, то подсветить надо количество строк, которе отличается по полю ACCOUNT (например в одной табличке 7 строк с акаунтом 263478230, а в другой 11, то надо во второй табличке подсветить 4 нижние).

Если по-сложному, то проверять всю строку и подсвечивать отличающиеся.


  • 0

#9 Pirate

Pirate

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Макс Лем

Отправлено 30 июля 2018 - 14:31

UPD: Для моих задач очень подошел следующий способ:

 

1. Сделал сводную таблицу 

2. Перенес туда 2 столбца ACCOUNTS из сурс-файла и из скачанного отчета

3. Выделил оба столбца и сделал условное форматирование на предмет дублирования значений

3. Эксель выделит почти все и оставит невыделенными только искомые значения (которые инженер не добавил или не убрал) 


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных