Как выполнить анализ данных, написав всего одну строчку кода

5175e1f4e628406eabaebe3af7a2f04d.pngВ 14.2 версии мы полностью переписали механизм экспорта данных в форматы MS Excel. Теперь экспорт в Excel работает значительно быстрее и документ, который получается в результате, сохраняет группировку, фильтрацию, сортировку из грида, «живые» саммари на формулах, условное форматирование и много чего еще.У пользователей появляются новые возможности детального анализа данных из грида в привычном им Excel. Менеджер, бухгалтер или финансовый аналитик теперь могут получить табличные данные из грида в Excel быстро и точно.Много лет назад я начинал свою карьеру в IT с автоматизации предприятий, используя решения от 1C. У одного из крупных клиентов готовился годовой отчет и что-то не сходилось. Меня попросили написать несколько специальных запросов для локализации расхождений. Думаю, что бухгалтерия могла бы обойтись без приглашения специалиста и сэкономить время и деньги, если бы у них был хороший экспорт в Excel. Разумеется, у этого подхода есть ограничения. Например, объем анализируемых данных может быть слишком большим для Excel.

Благодаря новому экспорту у пользователей появляются новые возможности глубокого анализа и визуализации данных с использованием Excel. К сожалению, я не помню точно, что именно было не так, когда не сходился тот годовой отчет. Поэтому для демонстрации возможностей нового экспорта представим, что имеется приложение, в котором есть данные о продажах товаров магазина за определенный период в виде таблицы. Менеджер хочет узнать, какие товары приносят больший вклад в выручку, те выполнить ABC-анализ. Как вы догадались, в рассматриваемом приложении ABC-анализ не реализован, но зато есть кнопка, по нажатию которой зовется метод view.ExportToXls (…).Вот так выглядит это приложение. В таблице показан учет проданных со скидками товаров. Знакомые с нашей линейкой контролов наверняка узнают модуль TableView из главной демки XtraGrid. Да, это она, поэтому при желании всегда можно в точности повторить этот пример на вашей стороне.

c81b83fd74ca4854933f82cab36d40fa.png

После экспорта получим эти данные в Excel. Таблица содержит примерно 2200 строк. Скорость экспорта на моем ноутбуке составила примерно 7 тыс строк в секунду.

6849fd8097ed4c5f99e6094a70dd3a60.png

У нас есть цена, количество и скидка. Добавим столбец F с формулой для стоимости.

c134e38adfea4d2e9e444434626114a3.png

Теперь нам надо получить оборот по каждому товару. Проще всего это сделать сводной таблицей. В строках сводной таблицы будет колонка Product, в значениях — колонка Amount, у которой выбран стандартный процессинг % от общей суммы.

4f613294edde4952bf51fa49cc649f92.png

Осталось отсортировать по второму столбцу и посчитать нарастающий итог.

55464da198614f288bb8b0d1d0be89ae.png

Зеленым выделены товары, которые сформировали 80% выручки, что и требовалось найти. Таким образом, мы показали, что с новым экспортом пользователи могут без помощи разработчиков выполнить глубокий анализ данных в Excel. В рассмотренном примере был выполнен ABC-анализ данных по продажам 80 товаров из исходной таблицы, содержащей 2155 строк. Анализируемая таблица может содержать значительно больше данных.В этой статье анализ данных выполнялся в Microsoft Excel 2013, но можно использовать любую другую программу для работы с электронными таблицами. Кстати, у DevExpress есть контрол для работы с электронными таблицами. Называется Spreadsheet Control. Новый экспорт вошел в бету релиза 14.2, которая уже доступна. Расскажите нам в комментариях, какие еще возможности дает вам новый экспорт.

© Habrahabr.ru