Начало работы с SoftKuB'ом

Автор:   Синявский Сергей, mail@andriy.co

Начало рабочего дня в рядовой компании. Обычный вопрос шефа: " Что у нас новенького по... "

И тут же персонал начинает суетиться: искать бумажные отчёты, смотреть итоги покупок-продаж в учётной системе, пытаться "прикинуть" о чём это говорит на текущий день...

Упростить и ускорить процесс анализа данных, а также сделать более наглядным его результат и призвана программа SoftKuB (OLAP-система SoftKuB).

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

Возможности программы:

  • Поддержка работа с различными базами данных.
  • Построение запросов с помощью конструктора, а также используя текстовую строку.
  • Различная предварительная (ещё до получения из базы данных) обработка данных.
  • Просмотр запрошенных данных.
  • Отображение данных в виде таблиц и диаграмм различного вида.
  • Изменение условий анализа данных прямо на форме - перетягиванием полей с данными мышью.
  • Различные варианты отбора, сортировки и перефильтрования данных прямо на форме SoftKuB'а.


   Говоря кратко, получение нужной информации в программе SoftKuB сводится к следующему - открыл в программе файл SoftKuB'а и увидел " а вот что у нас новенького! "

   С оздание нового проекта SoftKuB'а ( на примере анализа данных БД типа MS Access )


   Создание проекта требуется лишь один раз - некоторым компаниям более одного проекта и не требуется, настолько он может быть всеобъемлющим и гибким. С другой стороны - чем большее количество различных таблиц в запросе и чем больший период рассматривается - тем дольше придётся ждать запрашиваемых данных. Для сравнения - запрос к MS SQL-серверу на базе Intel Core Duo2 Quad 2.66 ГГц, 4 ГБ ОЗУ, Windows Server 2003, LAN 100Mbit - 20 000 строк возвращаются за 10-20 сек., 300 000 строк - 30-120 сек. Клиентский ПК с программой «SoftKuB» : процессор от 1ГГц, ОЗУ от 256МБ (для работы с большими запросами - более 100 000 строк - желательно 512МБ ОЗУ и более ).

   Процесс происходит в 4 действия:

  • Подключение к БД и создание запроса на выборку данных.
  • Зачитывание данных из БД согласно запросу.
  • Указание мест расположения запрошенных данных на SoftKuB'е.
  • Просмотр результатов, изменение вручную (перетягиванием мышью) условий анализа.

 

Подключение к БД и создание запроса данных к ней.

   Работа спрограммой после её запуска начинается с создания нового проекта анализа, после сохраняемый в файл- SoftKuB (или просто - Куб):


   В открывшейся форме, в SQL-дизайнере, заполним строку подключения к базе данных - для этого нажмём на «...» или кнопку «Новое подключение» на главной форме:


и в открывшемся диалоговом окне подключения выберем «Поставщика данных» - в данном случае MS Jet 4.0 OLE DB (для подключения к MS SQL'ой базе следовало бы выбрать «OLE DB Provider for SQL Server», к другим типам баз данных - по аналогии):


после чего укажем путь к файлу БД ( в данном случае - тестовая база из подпапки Examples папки программы):


и, при необходимости, укажем пароль к базе данных:


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


   Программа подключилась к БД, можно увидеть её доступные таблицы в правом окне формы SoftKuB'а:


   Теперь следует решить, какие данные нам нужны ( и какие поэтому таблицы следует выбрать). Таблицы на главную форму перетаскиваем или отбираем двойным щелчком левой кнопки мыши.

   Например: узнаем подробности по продажам товаров за какое-то время каким-то поставщикам, осуществлённые какими-то сотрудниками и, ещё, в каком-то количестве штук.

   Для этого нам потребуются таблицы: Products (данные о товаре) , Customers (данные о контрагентах), Orders ("шапки" накладных) ,  Order Details (содржимое накладных ) , Categories (группы товара ), Employees (данные о сотрудниках ). Перенесём все, нужные нам, таблицы в главное окно конструктора запроса. После чего отметим в них нужны нам поля: названия товаров и категорий, названия клиентов, имена сотрудников-продавцов (торговых агентов), даты продаж, количество и цену за шт. проданного товара.


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

          1. правой кнопкой мыши по таблице ->

               2. «Добавить пустую строку» ->

                    3. чтобы не писать вручную - выбираем в столбце «Выражение » поле UnitPrice (цена за ед.) в таблице Order Details ->

                         4. копируем текст по правой кнопке мышы - и выбираем другое поле - Quantity (количество) ->

                              5. ставим пробел, знак умножить, пробел - и правой кнопкой мыши вставляем ранее скопированное название поля с ценой.

   вот что получилось: [Order Details].Quantity * [Order Details].UnitPrice


   Теперь нашей программе не надо самой считать сумму, умножая одно на другое - ей предоставят уже "умноженные" данные. Для большей оптимизации, чтобы ещё более упростить работу программе, в колонке «Агрегат » выберем «Sum ». Это уменьшит количество строк в запросе => ускорит запрос.

   А чтобы было более понятно обычному пользователю, что это за хитрое такое поле, напишем в колонке «Псевдоним» его простое название - например Сумма.

   В остальных строках также можно указать более понятные названия.

   Так же во всех строках, где нет какого-либо агрегирования (поле «Агрегат» пусто), следует поставить галочки в колонке «Группировка». Это ускорит запрос на 30 - 200%.

  

Зачитывание данных из БД согласно запроса.

   Всё отметили, всё переименовали и сгруппировали - жмём кнопку  «Шаг вперёд» на главной форме и ждём окончания запроса


   Открылась вторая закладка  «Результаты запроса данных», где можно предварительно просмотреть полученную информацию

 

   Жмём кнопку «Шаг вперёд» - программа готовит структуру данных для формы SoftKuB'а  - открывается 3-я закладка


   Здесь можно увидеть следующее - если у нас было в запросе поле с датой, то его «обогатили» ещё 4-мя дочерними полями: отдельно год, квартал, месяц и неделя - для большего удобства пользователя.

  

Указание мест расположения запрошенных данных на SoftKuB'е.

   На этой закладке можно выбрать в какой части SoftKuB'а хотелось бы видеть то или иное запрошенное поле: в строках ( Rows ), столбцах ( Columns ), поле данных ( Data ) или вынести временно ненужное поле в фильтр ( Filter ). Это можно делать на этом шаге - и тогда на последнем, 4-ом, всё уже будет красиво оформлено. Либо ничего тут не выбирать, а нажав «Шаг вперёд» и перейдя на 4-ю закладку, потом мышью перетащить поля данных.

   Уточнение - так как дату обычно ставят вверху различного вида таблиц (в столбцах), то программа сама автоматически предлагает поля, содержащие даты, поставить в столбец SoftKuB'а ( Column ).   Но так как дробление даты на Квартал и Неделю используется реже, чем на Год и Месяц, то Квартал и Неделя выносятся в Фильтр SoftKuB'а ( Filter ).


   Если не нажали ранее - жмём «Шаг вперёд» в 3-й раз и переходим на 4-ю закладку, собственно на SoftKuB.


   Внизу, под таблицей, сразу же доступно графическое отображение выделенных данных на диаграмме. Тип диаграммы (линия, столбики разного вида, «пирог» и др.) выбирается в верхнем выпадающем списке «Настройки диаграмм» главной формы. Если диаграмма не нужна (экран маловат - таблицу всю не видно, слабый ПК) - её можно отключить, отжав кнопку «Показывать диаграмму».

   Сразу же - если всё выглядит благопристойно - желательно сохранить проект в файл SoftKuB'а:  жмём «Сохранить как» и указываем название файла


 

Просмотр результатов, изменение вручную (перетягиванием мышью) условий анализа.

   Теперь можно как угодно «тасовать» и перемещать поля SoftKuB'а, добиваясь нужного результата. Например: «выкинем» поле Количество наверх, на панель «Фильтра» - а на его место поставим поле Сумма - и сразу видно распредиление продаж в финансовом разрезе, а также уберём в фильтре поля Год галочку с 1994 года - эти данные будут скрыты от показа. Как видите - всё просто


   Осталось только напечатать табличные данные (жмём «Печать таблицы») либо график (жмём «Печать диаграммы»).


   P.S.: если открыть сохранённый файл в программе - он сразу же автоматически запросит необходимые данные из БД и откроется на закладке с SoftKuB'м, в том состоянии как его сохранили. Поэтому можно делать «модификации» основного файла, как то: без какого-либо года-месяца, поменяв поля местами... - и сохранять в отдельные файлы. Открытие уже «сделаного именно для Вас» файла SoftKuB'а облегчит работу простым пользователям, а также ускорит её на ПК с процессором менее 1ГГц, и менее 512МБ ОЗУ.




Создание SoftKuB-примеров (лежат в подпапке «Examples» папки с программой) можно просмотреть, скачав следующие видео-примеры:

    Шахматка продаж по клиентам и группам товаров (количество).avi

    Продажи товаров по группам по датам (суммы продаж).avi

Статья включена в следующие темы:

Вверх