logo

ANDRIY.CO Support Forum / Форум техподдержки ANDRIY.CO

Домашняя страница http://andriy.co

Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Андрей Кравченко  
#1 Оставлено : 8 ноября 2008 г. 18:13:30(UTC)
Андрей Кравченко

Статус: Администратор

Репутация:

Группы: Administrators
Зарегистрирован: 19.08.2007(UTC)
Сообщений: 924
Украина
Откуда: Київ

Поскольку проект новый, документация только готовится, было решено не ждать выхода полного релиза и выдавать материалы в массы, что называется, "с колес".
Сегодня мы построим первый куб, чтобы сложить представление, как вообще это делается.
Запустим SoftKuB, нажмем на значок "New Cube".
UserPostedImage
Откроется окно пустого куба.
UserPostedImage
Первое, что необходимо сделать - подключиться к источнику данных. Для этого нажмем на кнопку "...". Выделена на рисунке оранжевым.
Откроется стандартный диалог для подключения к источнику данных.
UserPostedImage
Перейдем на первую вкладку и выберем поставщика данных. Поскольку мы будем подключаться к базе NorthWind.mdb (база данных в формате Microsoft Access, идущая как пример к многочисленным приложениям
), то нашим поставщиком (провайдером) данных будет Microsoft Jet 4.0 OLE DB Provider. Выбираем провайдера и жмем кнопку "Далее".
UserPostedImage
Укажем имя файла базы данных (у меня он находится в C:\Program Files\SoftKB\SoftCube\Examples\NWIND.MDB Если вы устанавливали программу с путями по умолчанию, то у вас он находится там же).
После того, как файл выбран, удостоверимся, что настройки произведены корректно - нажмем на кнопку "Проверить подключение". Если все нормально, жмем "Ок".
Обратите внимание. В строке подключения у нас появился текст подключения, а справа в окне мы наблюдаем перечень таблиц, из которых мы можем выбирать данные.
UserPostedImage
Простым перетаскиванием в белую центральную область окна зачитываем следующие таблицы:
Customers - Клиенты, в данном контексте "Покупатели".
Orders - таблица заказов, которая ссылается на клиентов, которые эти заказы сделали.
OrderDetails - перечень товаров заказа с указанием количества, цены и скидки. Каждая запись перечня содержит номер заказа, в который она включена.
Products - справочник товаров, которые указаны в заказах. Каждая запись товарного перечня в заказах содержит ссылку на товарную запись в справочнике.
Categories - группы товаров. Каждая запись товарного справочника содержит ссылку на группу, к которой этот товар принадлежит.
Более подробно о реляционных базах данных, нормализации можно почитать здесь

Отметим поля в таблицах, которые мы хотим включить в наш запрос.
UserPostedImage
В таблице Customers отметим поле CompanyName для получения названий клиентов. В таблице Categories отметим поле CategoryName для вывода названий товарных групп. В таблице OrderDetails отметим поле Quantity для подсчета проданного количества.
Нам не нужно выводить данные по каждой продаже. Нам нужно вывести суммарное количество товаров определенной группы, проданных определенному покупателю. Для подсчета сумм и итогов применяются так называемые групповые операции. Отметим галочкой признак группировки первых двух строк. Для третьей строки используем агрегатную функцию Sum, которая сложит значения поля Quantity для все записий, у которых имя покупателя и категория товара повторяются.
Теперь нажмем на значок "Step Forward" (шаг вперед) и перейдем на вкладку "Query Results" (результаты запроса").
UserPostedImage
На данной вкладке мы видим так называемую "результирующую таблицу". Это ответ источника данных, в данном случае базы NorthWind на наш запрос.
Делать здесь ничего не нужно, просто посмотрим, и пойдем дальше. Снова жмем "Step Forward".
UserPostedImage
На третьем шаге на вкладке "Cube Columns Settings" мы решаем, какие поля нашей результирующей таблицы будут являться строками куба, какие столбцами, какие будут находиться на пересечении строк и столбцов в ячейках данных. Есть еще также область фильтра, в которую можно выводить "лишние" поля, которые в данный момент не отображаются в кубе, но могут влиять на расчеты и выборки из верхней области фильтра. Фильтры - тема следующих статей.
Пустим наших покупателей по строкам (Row Area), а группы товаров по столбцам (Column Area). На пересечении (Data Area) отобразим проданное количество. Нажмем на кнопку "Step Forward".
Откроется последняя вкладка, на которой будет находиться куб.
UserPostedImage
Пока что, он еще маленький и слабый, но скоро мы займемся выращиванием и разведением настоящих боевых кубов.
Андрей Кравченко  
#2 Оставлено : 2 декабря 2008 г. 23:07:58(UTC)
Андрей Кравченко

Статус: Администратор

Репутация:

Группы: Administrators
Зарегистрирован: 19.08.2007(UTC)
Сообщений: 924
Украина
Откуда: Київ

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

Форум YAF.NET | YAF.NET © 2003-2020, Yet Another Forum.NET
Страница сгенерирована за 0.081 секунды.