Может ли отчет показывать не все данные?
Совершенно прекрасная история о том, Великобритании не учли почти 16 тысяч случаев заражения Covid-19 — в таблице Excel закончилось место.
https://medium.com/@ivlad/история-про-логи-63dbe37fd50c#.2drb508t7
или вот - о многолетнем анализе безопасником лога доступа к интернет большой компании в Excel.
Если лень читать, напомню, что предел таблицы Excel - 65000 строк.
Т.е. из в года в год безопасником еженедельно из миллиона записей анализировались данные только первых минут недели. Остальные данные в отчёт не попадали из-за технических ограничений выбранного для анализа инструмента.
Это не единичные случаи! Люди не представляют, с какими объемами даных им и их клиентам-заказчикам придётся иметь дело, какие возможности инструментов, которые они используют!
Потому появляются такие статьи https://www.techrepublic.com/blog/microsoft-office/10-things-you-should-never-do-in-excel/
1. Для хранения данных используйте базы данных!
Звучит совершенно дико, но - всегда и везде, когда вы задумываете какой-то список, базу (это у меня профессиональное - я сразу оперирую этим термином), систему складирования данных - подбирайте базу данных. Оцените объём данных. Потомки будут благодарны!
Наш пример - в нашей CRM (у нас одна из первых собственных онлайн-CRM - мы даже термина такого не знали) сейчас сотни тысяч регистраций, клиентов, записей, партнёрских регистраций. Это работает.
Я даже сейчас, когда с ней одновременно работают десятки людей со всего мира, не могу назвать это “высоконагруженной системой”. Потому что мы знаем, как работают высоконагруженные системы, и что такое большие данные.
2. Проверьте, будет ли ваша отчётная система справляться с таким объёмом.
К нам, особенно в последнее время, стали часто приходить интересные клиенты. Подрядчики, уже полгода как сдавшие свой проект заказчику, которым приходится наживую (!) во внедрённом и работающем проекте менять систему генерации отчётов на нашу.
Они всерьёз подошли к проекту, они рассматривали инструментарий, компоненты, сравнивали их по куче критериев (возможно, наш даже и не рассматривали, или рассматривали, но по каким-то признакам FastReport не прошёл в "финал), но, затем, проект стал наполняться реальными данными, работать с этими реальными данными и ...падать. (В лучшем случае - “отображать первые 65 тысяч записей”, в худшем - “сжирать всю выделенную память и показывать ничего”).
Я далёк от мысли, что современные разработчики недостаточно внимания уделяют грамотному проектированию нагрузки системы.
Тем более, все остальные элементы систем вполне справляются с этой нагрузкой.
А валится именно на этапе выборки данных в генератор отчётов!
А реальные данные - это могут быть и миллионы записей (это только выборка, это не вся база, конечно же!) - из которых надо достаточно часто генерировать документы абонентам, например.
Для меня самого было откровением, что есть достаточно старые и именитые игроки на этом рынке, которые с такой задачей не справляются. В лучшем случае - генерация отчётов может занимать часы, а то и просто вылетает и не доходит до формирования отчёта в принципе.
И сегодня, когда меня спрашивают "а как вам удалось, что банки, ПФР, ФСС, производители высоконагруженных корпоративных систем, биллингов в реальном времени, используют именно ваш продукт, FastReport?" - мне ничего не остаётся, как отвечать "а у них, в принципе, не было другого выбора".
Я не призываю использовать только и исключительно FastReport ("покупайте наших слонов!"), но настоятельно советую разработчикам подвергать жесточайшему нагрузочному тестированию все компоненты ваших систем (как это делаем мы), чтобы не разочаровывать клиентов и не рисковать репутацией.
Особенно это касается систем биллинга, CRM, ERP - где идёт постоянная живая работа с клиентами.
3. Оцените информативность вашего отчёта
Да, у нас есть тестовые примеры отчётов из миллионов записей, где мы оцениваем качество и скорость построения документов (в отчёте получается несколько десятков тысяч страниц, которые потом конвертируются в PDF без потери качества). Это был вызов нам самим - нас не устроила скорость формирования отчёта, и мы ускорили их в три раза.
Вот ссылка на пример построения отчёта из BigData.
Вот такая "биг дата"
Радость первооткрывателей "а как это работает в других генераторах отчётов?" я оставляю благодарным читателям.
Это неплохо при формировании квитанций по оплате электричества жителям мегаполисов, например, но насколько этот отчёт информативен сам по себе?
Потому выделяйте главное, основное, используйте графики (Charts) - чтобы данные не терялись, а превращались в охватываемую взглядом информацию. Как, например, сделал один из победителей нашего конкурса на лучший отчёт - как видите, большие данные о COVID-19 свёрнуты в достоверный информативный документ.
Продукты Fast Reports всегда готовы быстро сделать вам верные отчёты по вашим данным любого размера.
Ну или хотя бы просто спросите нас - мы неплохо разбираемся во всех популярных форматах документов и СУБД - и можем подсказать, где именно вас может поджидать “коварство какого-либо формата”.