Введение:


На мой взгляд, одна из основных проблем между бизнес аналитиками и пограммистами Баз Данных – это их взаимодействие. Многие современные BI решения предлагают, по сути, перенести работу аналитиков на программистов. Либо поднять технический уровень аналитиков, приблизив их к программистам. Вместо этого, я предлагаю рассмотреть решение, которое берет информацию у программистов БД и отдаёт её бизнес-аналитикам. Это решение позволит каждому заниматься своим делом, а не становиться программистом и бизнес аналитиком в одном лице.


Бизнес-анализ для предприятия:


Что такое BI? ? это первая мысль, которая всякий раз возникает у меня в голове, когда я слышу об этом. Это термин, которым пытаются обозначить какой-то конкретный продукт, но само по себе это абстрактное понятие. Как только кто-то говорит, что ему нужно анализировать деятельность предприятия, ему почти наверняка предложат BI.

Рассмотрим само понятие BI.
Business intelligence (BI) — это методы и инструменты для перевода необработанной информации в осмысленную, удобную форму.
Такое определение BI из Википедии не дает ответа вопрос «Что такое BI», потому что непонятно, что такое необработанная информация.

Вот её определение:
Необработанная информация – исходная информация, первичная информация.

Если опираться на эти определения, то неочевидно, зачем покупать продукты BI, если практически на любом предприятие процесс осмысления первичной информации и так существует. В ее рамках используются:

  1. Автоматизация сбора первичной информации: В современном мире подобная автоматизация введена практически повсеместно. Начиная с платежных терминалов и заканчивая сотрудниками, который вручную ежедневно заносят эту информацию в компьютер.
  2. Хранилище данных (Data Warehouse): Полученную информацию пытаются как-то анализировать, для чего чаще всего создают базу, хранящую сведения за текущий день (OLTP), и отдельно базу, где хранятся сведения за все предыдущие дни (Data Warehouse); по ночам обычно происходит перемещение данных из одной базы в другую.
  3. Анализ данных в хранилище: Накопленную информацию пытаются анализировать, организуя выгрузки из неё, которые сводят в Excel-файл, используя возможности Excel для осмысления полученной информации.
  4. Microsoft Excel как средство аналитики: В помощь аналитикам Microsoft предлагает Power BI, который превращает Excel в очень серьёзный и современный BI-инструмент. Работая с ним, бизнес-аналитики составляют полную картину текущих финансовых процессов организации.

Подобная практика широко используется во многих компаниях. Процесс можно организовать, используя общедоступные компоненты:
  • Microsoft Office
  • OS MS Windows
  • База данных.

Отсюда на вопрос “Нужно ли покупать отдельно BI-инструменты?” ответ скорее Нет, чем Да! Зачем нам системы отчетности, различные порталы бизнес-аналитики и подобные им продукты? Excel и так отлично со всем этим справляется. Теоретически этого действительно вполне достаточно, даже для крупного бизнеса. Но есть причины, которые заставляют искать что-то более подходящее. На мой взгляд, это два узких места в организации бизнес-анализа, которые доставляют определенные неудобства и в худшем случае могут стать причиной того, что информация перестанет поддаваться осмыслению.

“Узкое место” № 1 ? Сбор информации


Сбор информации – это процесс первичного накопления информации и перемещения ее в хранилище. Для успешного решения этой задачи чаще всего:
  1. Разворачивают в организации Базу Данных;
  2. Нанимают людей, которые будут работать с Базой Данных;
  3. Создают либо приобретают средства ввода информации в базу – пользовательские интерфейсы, автоматические перекладчики;
  4. Обучают персонал работе с этими системами;
  5. Обеспечивают поддержку работоспособности всех систем.

На рынке можно найти множество решений, позволяющих существенно упростить задачу сбора информации. Это различные системы, обеспечивающие передачу данных между источниками, такие как Microsoft Integration Services, Informatic и другие. Помимо этого, базы данных становятся более быстрыми и более гибкими, появляются системы типа Big Data. Вследствие этого проблемы со сбором информации вполне решаемы, в отличие от следующей проблемы.

“Узкое место” № 2 – Передача данных из хранилища пользователям


Пользователям для анализа требуется вся информация. Но её надо как-то структурировать и отображать в удобном для бизнес-аналитика виде. На мой взгляд, именно здесь находится то поле для творчества, которое породило множество программных инструментов на рынке, но так и не решило главную проблему, проблему надежной и удобной передачи данных пользователям. Существует ряд способов организации этого процесса:
  1. Создаются шаблоны Excel-документов, в которых уже предусмотрено подключение к базе и настроены выборки из неё.
  2. Пользователям предоставляется возможность самим писать запросы к базе и выбирать то, что им нужно.
  3. Приобретают систему отчетности, например, Microsoft Reporting Services, SAP BO, Oracle BI и прочие.
  4. Организуют локальные базы данных у пользователей, например, MS Access.

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

Шаблоны Excel-документов


  • С такими шаблонами не очень удобно работать тем, кто их создаёт. Приходится открывать каждый, смотреть селект в нем; помнить пароли на доступ к селекту, чтобы конечный пользователь ничего не поменял.
  • Хранение и доступ к этим шаблонам тоже нужно как-то обеспечить. Можно хранить их в общей папке, можно разработать или приобрести Web-приложение, которое обеспечит доступ ко всему этому. Раньше или позже наступает ситуация, когда отчетов много, что они делают, надо ещё вспомнить.
  • Данных становится очень много, и отчет не может быть открыт вследствие недостатка памяти.
  • Ввод параметров запроса затруднен. Можно в Excel написать VB-script, который предложит их ввести, но для каждого Excel придется писать этот скрипт либо улучшение или исправление этого скрипта надо будет транслировать во все остальные шаблоны.


Пользователи сами пишут запросы к базе


Недостаток этого варианта ? в уровне квалификации персонала. Для бизнес-аналитика умение писать SQL-запросы не является основной деятельностью, отсюда совмещение нескольких видов деятельности в лице одного специалиста требует от него высокой квалификации.

Приобрести систему отчетности


Существенный плюс этого решения в сравнении с предыдущими – это возможность компактного хранения отчетов, удобного администрирования и наличие пользовательского интерфейса, для установки входных параметров.

Системы отчетности отчасти решают эту проблему, но не полностью.

Бизнес-аналитики работают в Excel – это очень удобно. Но отчеты строятся в Web, откуда их надо выгружать. Так же они строят различные сводные таблицы и графики, которые и так может сделать Excel. В итоге получается, что отчеты выступают лишним звеном между Excel и базой данных.

У них есть также и другие недостатки:
  • При выгрузке в Excel информация может нарушиться, «съедет» форматирование, изменятся типы колонок и т.п.
  • Отчет, который быстро работает в Web, в Excel работает очень медленно либо «ломается».
  • Отчеты, на выполнение которых требуется много времени (более получаса), могут не завершиться из-за достижения максимального времени ожидания.
  • Попытка выгрузить большие объемы информации может привести к нехватке памяти на сервере, что потенциально может привести к его остановке, либо отчет сформируется в Web, но не сможет быть выгружен в Excel. Существуют различные способы обхода этих проблем, такие как выгрузка в CSV, частичная передача информации и пр., но все они неудобны с точки зрения пользователя и требуют от него повышенной внимательности, аккуратности и дополнительных знаний.

На мой взгляд, описанные системы больше подходят для отображения данных, а не для передачи их пользователям. Их можно сравнить с красивой витриной, данные в которой можно смотреть, но сложно “потрогать”.

Локальные базы данных у пользователей


Такое решение, на мой взгляд, громоздкое и совсем не оптимальное, хотя, возможно, в будущем оно может стать актуальным. В голову пришел лозунг: “Каждому аналитику по базе данных!”

Что хочет пользователь


image

Основная проблема для пользователей – это отсутствие удобной и надежной системы передачи пользователям данных из хранилища. Бизнес-аналитики чаще всего пользуются Excel для своих расчетов, поэтому передавать данные надо в формате Excel. К сожалению, удобного решения я не встречал, приходилось делать что-то комбинированное – часть данных передавать в отчетах, что-то передавать в Excel-шаблонах, внедрять OLAP-кубы и похожие на них серверные решения. Также использовались CSV-файлы и пользовательские базы данных на Microsoft Access. Активно пользовались кэшированием отчетов и отложенным выполнением. Параллельно приходилось рассматривать решения, которые появлялись на рынке, с целью их внедрения. В итоге получился небольшой «зоопарк» из различных подходов и решений. Для того чтобы уйти от этого зоопарка, надо посмотреть на постановку вопроса от пользователя: “Обеспечить передачу информации от хранилища пользователю в формате Excel!” и решить конкретно эту задачу, не пытаясь расширить и улучшить инструментарий, которым пользуются бизнес-аналитики. Отсюда, изучив тонкости работы Excel и скачав OpenXML SDK, я написал приложение, которое формирует отчеты непосредственно в Exсel-файлах. То, как оно работает, можно посмотреть по следующей ссылке: Пример такой системы. Создать его несложно, как и довести до уровня коммерческого решения. Оно может выгружать сколь угодно большие объемы информации и также ждать неограниченное время, пока запросы выполняются в базе данных. Для этого использовались SAX-модель документа и потоковая передача данных.

Вывод


После многих лет работы с BI я так и не увидел решения, которое могло бы без проблем передавать пользователям информацию из хранилища. Инструменты BI прежде всего помогают анализировать информацию, показывать целостную картину, они не делаются с целью обеспечить передачу данных пользователям. А именно этого чаще всего не хватает для стабильно работающей аналитической системы. Анализ информации удобно делать на стороне клиента в Excel и Power BI, а с хранением данных успешно могут справиться программисты баз данных. Мостик же между ними пока что так и не построен.

Комментарии (52)


  1. A1ien
    18.04.2016 09:49

    Посмотрите продут Dream Report он предназначен для бесшовной склейки производственных процессов(plant level) и бизнес аналитики. Больше заточен для применения в промышленной автоматизации, но имеет массу возможностей которые позволяют закрыть именно тот уровень про который вы пишете.


  1. alex_29
    18.04.2016 10:04

    Доброе утро. Посомтрел презентации, смутило то что он предлагает импортировать в CSV. Надо его изучить более детально, они все в каком-то виде импортируют, но основной упор делается на отображение данных в Web. Я об этом и пишу — в Web все красиво, а как только начинаешь по серьезному экспортировать всё это в Excel начинаются проблемы. Возможно Dream Report доработал эту возможность


    1. A1ien
      18.04.2016 10:31
      +1

      Основной вид отчетов — PDF, WEB отчеты больше предназначены для интерактивного режима. Также есть экспорт прямо в Excel. Сам продукт представляет из себя несколько компонентов — студия, для разработки отчетов, рантайм который предназначен для логирования данных, генерирования отчетов по расписанию, и обработку запросов от интерактивных отчетов поступающих из веба, доступ к рантайму осуществляется либо через веб либо через управляющую консоль. Вот здесь вы можете посмотреть на Веб портал в живую, и поиграться как с интерактивными отчетами так и PDF и Excel.
      Все что вы видите в Веб портале — это построено динамически, на основе созданного в студии проекта. Ни единой строчки кода (кроме отчетов которые используют Lua скрипты) не написано.


      1. alex_29
        18.04.2016 11:10

        Меня заинтересовал продукт. Хочу узнать:
        А в Excel с формулами может экспортировать?
        И если данных много (очень много), либо время выполнения отчета несколько часов, он это сомжет сделать, без отложенных загрузок и снап шотов?


        1. A1ien
          18.04.2016 11:38

          Формулы — нет. Экспорт в Excel — в простейшем виде — в указанные ячейки экспортируются данные из таблиц отчета или единичных элементов рассчитанных в процессе построения отчета. Суть в том что большинство расчетов которые обычно перекладывают Excel на может делать сам продукт, большинство графических элементов, и много того чего в Excel нет в принципе — реализовано внутри.
          Что касается длительности построения отчетов — оно не ограниченно. Если вам интересно — могу дать контакт нашего представителя который занимается внедрением проектов и поддержкой больших, сложных проектов.


          1. alex_29
            18.04.2016 11:47

            Т.е. выходит, что основная задача — это построить отчет в Web, а Excel — как дополнение?


            1. A1ien
              18.04.2016 11:52

              Web или PDF. Вообще изначально — основная задача была построить отчет в PDF — веб делался уже для создания интерактивных очетов -например для выбора периода времени для построения отчета, или для дрилл-даун отчета — когда каждый следующий отчет строится на основе данных пришедших в предыдущий, итд…


              1. alex_29
                18.04.2016 11:57

                Я просто рассмотрел систему, которая выгружает в Excel, а далее уже вступают в дело инструменты Power BI и т.п… Отчетных систем, которые строят в Web довольно много. Отсюда интересна работа с формулами, шаблонами Excel, выгрузка большого объема информации и т.п… Я посмотрю Вашу систему, её надо погонять на определенных задачах, чтобы понять насколько она удобна.


  1. Ares_ekb
    18.04.2016 10:13
    +1

    Я обычно использовал связку SSAS + Excel. Например, для медицинского центра было всего-навсего 3 куба (поликлиника, стационар, диспансеризация) и полсотни сводных таблиц в Excel на основе этих кубов. Они покрывали процентов 90 всей отчетности. Единственное что не удобно — это смотреть в Excel на основе каких первичных данных основаны значения показателей (drill down).


    1. alex_29
      18.04.2016 10:25

      Analysis Services очень сильная вешь. Я сам её активно использую. Минус в том что кубы строятся на стороне сервера, соответсвенно бизнес-аналитики зависят от того кто строит куб. Что не во всех случаях удобно. А так OLAP, с точки зрения аггрегации данных, наиболее сильная штука. Плюс, когда в Excel работаешь с ним можно получить out of memory, когда данных слишком много и клиент не справляется с таким объемом, но это зависит от того кто делал куб и того кто им пользуется.


  1. alex_29
    18.04.2016 12:28

    Спасибо, я все же исправлю, нельзя давить на больное.


  1. alex_29
    18.04.2016 12:32

    В сторону Tableua уже смотрел. Организационные проблемы, они везде, работа с бизнес аналитиками мне тоже знакома. Скажем так, я написал о том что смог улучшить.


  1. Reiges
    18.04.2016 12:35
    +1

    «пограммистами баз данных» — не исправляйте, уж больно вкусная опечатка :)


    1. alex_29
      18.04.2016 12:35

      Спасибо, я все же исправил, нельзя давить на больное.


  1. Diaskhan
    18.04.2016 12:35
    +1

    ЭХХХХ… alex_29. Это не проблема BI решения или инструментов.

    1.Проблема, много пользователей тягают OLTP базу Firebird, Она не очень хорошо работает с расчетами.
    DWH нужна чтобы разгрузить OLTP.
    2.Обычно в OLTP системе нет такого понятия как предметная область. Кубы помогают решить частично проблему, накидываем меры и измерения и Вуааляяя…
    3.OLAP кубы аггрегируются что снижает нагрузку на вычисление (Column store index)
    4.Данные заливаются после 8 вечера когда никто не работает с БД OLTP.
    5.Excel и Power BI не очень то и хороши. Посмотрите в сторону Коммерческого решения Tableua. Этот Bi занимает лидирующее положение.

    Главная проблема это сбор требований для того что нужно а что нет, и как в итоге Бизнес аналитики себе это нафантазируют.


    1. alex_29
      18.04.2016 12:36

      Это мне тоже все знакомо, я написал о том, что смог улучшить.


      1. Diaskhan
        18.04.2016 12:40

        Либо просить повышение, либо уходить там где не бьют!!!


  1. alex_29
    18.04.2016 12:57

    Рассмотрю места, где не бьют :)


  1. Stark_Nonym
    18.04.2016 14:31

    Есть ошибка «аналитиками и пограммистами Баз Данных» а надо «ПРОГРАММИСТАМИ»


  1. alex_29
    18.04.2016 14:31

    Вам смешно, а мне среди них больно :)


  1. Don_Eric
    18.04.2016 14:40
    +1

    мы сейчас пробуем Spark + PowerBi


    1. Don_Eric
      18.04.2016 15:12
      +1

      У нас есть hadoop кластер на котором бежит Spark

      Данные загружаем туда 3мя способами:
      Streaming — Spark подсоединен к Azure Event Hub, получает данные в real-time и сохраняет в памяти/hive
      Sqoop — утилитка, которая умеет тянуть данные из SQL Server и сохранять в hive
      Spark Batch Application — програмка на Scala, которая собирает json файлы из разных мест, проводит всякие манипуляции и сохраняет в тот же hive.
      Sqoop и Batch запускаются раз в день с помощью Oozie workflow manager

      Таким образом hive становится обьединеным местом (single source of truth), где хранятся все данные (warehouse). Хранятся они в колоночном формате parquet в файлах hdfs
      Чтоб посмотреть на эти данные, то можно подсоединить Spark к PowerBi. PowerBi подсоединяется к Spark через ODBC driver, видит все hive таблицы, посылает SQL запросы и полученные данные показывает как умеет (графики, таблицы и т.д.)
      Если данных мало, или памяти много, то данные находятся в памяти, и запросы возвращаются очень быстро
      Пока что тестируем, но оптимизма много

      Другая альтернатива это использовать SSAS,Microsoft Tabular service. Нам она не понравилась, в основном из-за цены и уж слишком майкрософности :)


  1. alex_29
    18.04.2016 14:45

    Рад буду помочь, если будет нужно.


  1. alex_29
    18.04.2016 15:20

    Если Вы сами будете это анализировать, то ок, а вот если это аналитикам отдавать, то возможно упретесь в различные подводные камни. Бизнес-аналитики должны уметь писать либо SQL запосы, либо им надо что-то вменяемое на сервере построить. Я б SSAS попробовал, из-за его майкрософтности. Excel с Power BI тоже микрософт, остюда проблем с интеграцией меньше. Хотя если данных мало и памяти много, то можно и проще сделать.


  1. RomanSysyuk
    18.04.2016 15:23
    -1

    Основным показателем успешности внедрения BI является частичный или полный отказ от работы в Excel.
    Пользователи не должны тратить времени на построение формул и редактирование данных.
    Информация для аналитики должна предоставляться им для аналитике в уже готовой для просмотра форме. Иначе зачем покупать BI, платить за ее внедрение… Такие программные продукты, как QlikView, OracleBI, Битрикс позволяют в полной мере охватить процесс аналитики и наконец забыть об Excel. Говорить о каких то «мостиках» с ними не приходится.


    1. erop
      20.04.2016 00:21
      +1

      Я стесняюсь спросить, но вот пользователь Qlik'а, он, что, магическим образом освобождается от необходимости «построения формул»? Или все-таки не освобождается, но тогда он и не «пользователь»? В Qlik'е, Tableau и иже с ними там как-то сами собой вычисляются нужные меры? Я уже не говорю про загрузку данных и построение моделей. Если это некое отраслевое решение, то возможно. А если вот посадили «программиста» и с нуля надо работать с данными, то какая принципиальная разница между SSAS, Qlik'ом, Tableau и т.д.? Также садится человек и грузит данные, устанавливает связи, добавляет вычисления-меры, чтобы потом предоставить куб/модель/whatever пользователю для построения визуализаций. Я просто честно не могу понять, где, на каком этапе возникает в не-MS BI-продуктах эта «магия», когда пользователя не волнует «построение» формул и он с необычайной легкостью в считанные мгновения готовит отчет, оставляя далеко позади фанатов йокселя?


  1. alex_29
    18.04.2016 15:25

    Это мы все проходили. Не первый день в BI. Давайте вообще выбросим Excel, не нужен он людям, пусть к примеру в QlikView (или чем-то похожем) работают и платят нормальные деньги хорошим людям.


  1. RomanSysyuk
    18.04.2016 15:31

    Маленькие компании могут за QlikView денег не платить, используя Desktop версию. Битрикс тоже предоставляет базовый пакет бесплатно. Про OracleBI не знаю. Ну а компаниям большим, хотят они этого или нет, рано или поздно все-равно придется переходить на автоматизированные решения.


    1. erop
      19.04.2016 23:58
      +1

      А зачем нужна Desktop версия Qlik'а (файл от которой, кстати, на другой машине уже не откроешь), если ту же in-memory модель данных можно построить в Excel Standalone за 80 долларов, которым уже можно делиться с коллегами? Загрузка данных в Qlik'е выполнена достаточно хорошо, но Power Query, думаю, легко ее «уделает», учитывая богатую практику использования этого языка и количество наработанных скриптов для импорта данных из разных сервисов, готовых как раз для использования на пользовательском уровне. ИМХО мощь Qlik'а как раз в больших копроративных средах. Которая и может отвалить за него конских денег. А десктопный Qlik — это даже не developer edition, это просто игрушка для отработки самой технологии. Побаловаться с импортом данных, покрутить их, восхититься богатством настроек диаграмм и т.д.

      Кроме того, «выростя из коротких штанишек», вы можете все свои созданные в Excel'евском Power Pivot модели вместе с выстраданными в DAX measures импортировать в уже «взрослый» SSAS Tabular. А там уже настраивать доступы к модели и т.д. Для того же, чтобы начать шарить результаты своей работы в десктопном Qlik'е, нужно будет потратить какие-то вообще невменяемые деньги на Qlik'овский сервер. Хотя таки да, дашборды у них великолепные получаются (не такие нарядные как у Tableau, конечно, но зато именно «корпоративные»:), дрил-даун восхитительный и т.д. Но это уже эмоции :)


      1. alex_29
        20.04.2016 08:46

        Правду человек говорит, видно, что реально есть опыт…


  1. alex_29
    18.04.2016 15:33
    +1

    У каждого свой путь. Тот кто считает, что надо отказаться от Excel путь от него отказывается, я не против.


  1. uinx
    18.04.2016 19:43
    -1

    А я бы ещё добавил qlik.sense — один раз указал что и откуда грузить и пусть пользователи сами себе рисуют что хотят для своей работы


    1. alex_29
      18.04.2016 22:10

      Читайте внимательно статью, не рекламируйте, пожалуйста, QlickView и QlickSense.


    1. alex_29
      18.04.2016 22:11

      1


    1. erop
      19.04.2016 20:34

      А чем это отличается от «построил SSAS модель и пусть пользователи рисуют себе в Excel или Power BI что хотят для своей работы»?


      1. alex_29
        19.04.2016 22:03

        Этого не всегда достаточно. SSAS модель это очень круто, но возникают ситуации когда этого не достаточно. Куб надо ещё построить и потом его поддерживать, а это специалист по кубам и более тесное взаимодействие между аналитиками и программистами Баз Данных, отсюда дополнительные ресурсы. (В разделе «Что хочет пользователь» я написал о том, что тоже их использую.) С другой стороны, если есть возможность получить данные с сервера в виде отчета, то Power Pivot в Excel может построить какой угодно куб на стороне клиента и уже аналитик может его строить и вертеть как ему вздумается, а в этом случае можно обойтись без SSAS прослойки.


        1. erop
          20.04.2016 00:02
          +1

          Спасибо за ответ! Но я вопрос задавал uinx. Я-то как раз с Вашей позицией согласен :)


        1. Metanor
          20.04.2016 16:39

          А зачем в таком случае загружать данные в Excel с его ограничениями на 1 миллион записей/sheet? Проще загрузить прямо в PowerPivot Data Model, используя Power Query.


          1. alex_29
            20.04.2016 17:24

            Ограничение на страничку в Excel. Страничек может быть много и на каждый по миллиону строк. Суть моего предложения в том, что программист Баз Данных один раз формирует запрос, с возможностью задавать параметры пользователем и пользователи далее им пользуются сколько угодно раз не вникая в тонкости SQL. Отчет, также, централизованно хранится на сервере и его можно всегда скачать пользователю, либо поменять программисту. Прямого доступа к объектам в базе пользователи не имеют, что тоже более предпочтительно


  1. ankifor
    19.04.2016 00:05
    +1

    А не подскажите, почему был выбран именно OpenXML SDK для разработки? И рассматривали ли вы другие альтернативы для своего инструмента?


  1. alex_29
    19.04.2016 00:13

    Я об этом писал в другой статье более детально — https://habrahabr.ru/post/235903/
    В общем, нужно было писать в excel файл методом SAX, чтобы обеспечить быстродействие и минимизировать занимаемую оперативную память сервера. Я посчитал OpenXML самой низкоуровневой оберткой для C# и взял её. Хотя DevExp вроде как тоже в своих последних релизах поддерживает работу с excel с помощью SAX, но я предпочёл сделать это без посредников. Справедливости ради, работа с DOM моделью в DevExp удобнее.


  1. alex_29
    20.04.2016 17:23

    1.


  1. Stas911
    20.04.2016 21:03

    Я мож чего не понял, но если пользователям нужны на выходе raw-данные, чего бы им просто ETL-ем их не выгрузить?


    1. alex_29
      20.04.2016 22:26

      Ну если разово нужны, то может быть и имеет смысл ETL, а если ежедневно и пользователи по всей стране сидят, то думаю, что ETL не очень удобно будет. Плюс выгрузок в реальности много и все разные. Так же ETL создавать надо, опять таки — это ресурсы дополнительные. У нас были Inforamtic и SSIS, если что-то в них ломалось, то разобраться не всегда было просто. ETL использовались для передачи данных между ИТ специалистами, а не для выгрузок простым пользователям.


  1. alex_29
    21.04.2016 08:46

    Так же помимо raw-данных в эксель можно выгружать с помощью шаблонов, в которых сразу прописать формулы и графики.


  1. uinx
    21.04.2016 11:22
    -1

    Я теперь перечитал всё на этой странице. Резюмирую.
    Нет, подождите, вы что, действительно не хотите заставить пользователей отказаться от Excel'a?

    На моём опыте, в разных компаниях, в разных отделах, чуть ли не каждый отдельный сотрудник свои данные считает так как ему удобно.
    Даже если вы ему дадите «преднастроенные» шаблоны формул и готовые данные, то что ему запретит их изменить скопировав в другую Excel книгу в виде текста и там придумать новые формулы и то что ему еще взбредет в голову, для того чтобы «правильно» отчитаться перед руководством. Ничто ему не помешает.

    -> ТС. Посмотрев ваше видео, выгрузки таблиц из базы данных, в миллионы строк в Excel — зачем это? Для чего файл в 40 мегабайт? Что пользователь будет делать с х-ю листами по ххххххх строк?
    Сводные таблицы — ок, удобно. В любом случае для пользователей вы будете создавать модель данных — и тут в сравнении с BI-софтом дело лишь квалификации разработчика, и того, кто придет после вас на вашу должность

    У меня тут вопрос возник: Можно ли построить модель в 20-30 связанных таблиц в Excel со строками чеков по продажам товаров в розничном магазине(скажем в 1000 кв/м) со всеми вытекающими справочниками; где около 500 чеков в день, 1000 товаров ассортимента + связать со всеми справочниками которые у вас будут в учетной изначальной системе: поставщики, производители, товары новинки, построить полочное пространство с оборачиваемостью, учесть затраты по налогам, зарплате и всему остальному… и так далее.
    Итого у вас будет примерно за 1 год работы — около 1,8млн. строк чеков (при обороте средней продаже 10ти товаров в одном чеке).

    И всё это путем использования ПО — которое не нужно покупать. т.е. ограничимся в покупке SQL Server + Win Server + ФронтОфис и БэкОфис.

    Вот просто скажите мне, сколько времени у вас займет такая разработка?
    Чтобы в конечном счете дать пользователю Excel-лист со сводной таблицей.
    + Потребление памяти когда он откроет этот лист
    + Сколько он будет открываться
    + Загрузку проца в моменты, когда пользователь будет двигать измерения в том виде в котором ему надо
    + Самое главное, сколько по времени будет ждать пользователь когда у него построится готовая таблица, и если он захочет сделать таблицу в другом виде — сколько тут еще пользователю ждать нужно будет?

    Как вы уже догадались я разработчик QlikView, и не хочу сейчас никаких холиваров в данном направлении — тем более что 100% пользователей которые используют Excel заминусуют мой пост в минус тыщу.
    Мне просто для себя, для общего развития так сказать. Можно в личку, готов туда переместится без проблем…

    И далее: ок, вопрос для бизнес-аналитиков мы решили, а что делать с другими должностями в компаниях? что нужно бухгалтерам — оборотная ведомость, тоже в Excel? что нужно финансистам — контроль бюджета и платежный календарь — тоже в Excel? Ген. директора какой нибудь компании у которого Mac + iPad + iPhone — тоже будете заставлять покупать пакет Excel для Mac?

    Что это, блин, я не могу понять, у меня не укладывается в голове, повторю вопрос — вы что, действительно не хотите заставить пользователей отказаться от Excel'a?

    Да добавлю про Qlik — это не сложно, пилотный проект в среднем 2 недели. Построение отчетов/графиков — за 5 секунд на этапе отображения информации пользователям (негласное правило разработчиков Qlik)

    Базы данных — нет, я их не использую, мне достаточно использовать сжатые QVD (QlikView data files) для хранения информации. Да, я выгружал регистр накопления из 1С в 600млн строк, который в виде таблицы в SQL занимает 120гиг (там около 20 полей, без индексов) и сохранял эти данные в QVD и получал файл в 8 гиг; причем загрузка из SQL (без каких либо условий, тупо select * ) — 3 часа (локально грузил с БД на сервере) и из QVD-файла — 8 минут (так же локально) [Замеры производились в выходной день, когда с базой никто не работал]

    … всё, отпустило, потом перечитаю то что написал…


    1. alex_29
      21.04.2016 12:38

      Я прекрасно знаю как работают продукты Qlick. Та же я в курсе — что такое OLAP, SAP BO, Oracle BI, Tabular и т.д… И я не считаю Excel плохим продуктом. Если людям удобно с чем-то работать, то зачем заставлять их от этого отказываться. Сделайте что-то лучше чем Excel и люди сами начнут его использовать вместо Excel. Я не сторонник запретов и отказов, я просто говорю о том, что можно никого не переучивая, не нанимая, не обучая и ничего не покупая, удовлетворить потребности как бизнес аналитиков так и программистов Баз Данных. И заметьте — мне есть что сказать про Qlick, но я не считаю должным выяснять отношения здесь.


      Более того — я вынужден был сделать этот пример, после того, как все вышеперечисленные продукты не удовлетворили пользователей. Большие выгрузки делаются пользователями не так уж редко. Можно запретить это делать, но я не сторонник запретов. Отучить от Excel людей — это не так просто и нужно ли? Если они справляются со своей работой, то зачем запрещать им этим пользоваться?


  1. RomanSysyuk
    22.04.2016 16:35

    Для компаний малых размеров вполне хватает и Excel. Особенно, если штатные программисты не на мотивации, а только на ставке.
    И если компания состоит из трех человек (образно), а бизнес-процесс можно описать в блокноте двумя-тремя предложениями (образно), то использовать Qlik — как стрелять из пушки по воробьям — только замедлит и утяжелит работу сотрудников. Другое дело, если бизнес-процессы компании настолько запутанные, что без специализированного софта не обойтись. Хочет бабуля-бухгалтер этого или нет, а ей придется отвыкать от Excel.


    1. alex_29
      22.04.2016 16:47

      В больших компаниях ещё больше Excel, т.к. народу очень много и на обучение тратиться не будут (из моего опыта). Причем тут бабуля, функционал, который берет на себя эксель очень серьезен. Excel — это ведь не только BI. Алгоритмы расчета премий, рентабельностей и прочие делаются в эксель силами экономистов, без привлечения ИТ. А для этих алгоритмов нужны данные, под алгоритмы держать команду программистов — это расточительно.


      P.S. Qlik интересный продукт, но его так пиарят, что он у меня ассоциируется с гербалайфом, причем не из-за качества продукта, а из-за очень агрессивной рекламы. Для своей ниши он хорошо, только у ниши есть глубина и ширина, но это уже не по теме этой статьи.


      1. RomanSysyuk
        25.04.2016 14:35

        Ну… на моем опыте скажу, что компания, в которой я работаю, воспользовалась услугами одно аутсорсера. Денег заплатила немного. По сути, те деньги, что ему заплатили, окупились в первом же месяце за счет экономии человекочасов финансистов.
        А ведь говоря об автоматизации, речь идет не конкретно о Клике. Вот, к примеру, несколько дней назад Террасофт представил bpm'online 7.8 — там намешано всего-всего, но есть и тот функционал, о котором идет речь выше. И масса других платформ.


        1. alex_29
          25.04.2016 16:17

          Ваша фирма правильно сделала, что воспользовалась услугами аутсорсера. Лучше обратиться к тем, кто действительно в теме вопроса, нежели пытаться что-то самим решить. Прежде чем использовать Террасофт, так же советую проконсультироваться с аутсорсером. Платформ много и функционала в них тоже, но вот что подойдёт Вам это надо сомтреть.


    1. erop
      23.04.2016 08:41

      бизнес-процессы компании настолько запутанные, что без специализированного софта не обойтись


      А что в Qlik'е такого специализированного, если он суть:
      • ETL
      • Data modeling tool
      • In-memory database
      • Visualization designer
      • Security

      Ничего не забыл? Я не шучу. Мне правда интересно, наличие какого функционала профессиональные разработчики Qlik'а подразумевают по «специализированным софтом». И действительно ли такой функционал отсутствует в стеке BI-технологий MS. И настолько ли он (этот функционал) так «отсутствует», что надо срочно все бросать и отучать людей от Excel'я.