Диаграмма распределения клиентов по городам



Диаграмма распределения клиентов по городам




Диалоговое окно Export



Диалоговое окно Export





Диалоговое окно после определения строк,столбцов и поля данных



Диалоговое окно после определения строк,столбцов и поля данных


В следующем диалоговом окне Cross-Tab Wizard (Мастер построения перекрестных таблиц) (рис. 10.7) содержится группа переключателей Summary(Итог), позволяющая вычислять групповые значения по полю (табл. 10.1).





Двумерные перекрестные таблицы



Двумерные перекрестные таблицы

Информация в двумерных перекрестных таблицах группируется по двумфакторам. Примером такой таблицы является Saiegoods, представленная нарис. 10.2. Она содержит сведения о стоимости проданных товаров по городам. Данная таблица была получена из таблиц customer, ordsaiem иordsaied с помощью многотабличного запроса. Для наглядности результирующим полям запроса присвоены русскоязычные названия.

SELECT Customer.cCity AS Город, Ordsaied.icdGoods AS Код_товара,;

SUM{Ordsaied.nQuant*Ordsaled.nUnitprice) AS Сумма;

FROM Sales!Customer INNER JOIN Sales!Ordsaiem;

INNER JOIN Sales!Ordsaied ;

ON Ordsaiem.icdOrder = Ordsaied.icdOrder ;

ON Customer.icdCustomer = Ordsaiem.icdCustomer;

GROUP BY Customer.cCity, Ordsaied.icdGoods;

INTO TABLE saleGoods.dbf

В таблице, представленной на рис. 10.2, отображается вся необходимая информация о продажах товаров, однако более удобным для анализа являетсяпредставление этой информации в виде перекрестной таблицы. На рис. 10.3представлена двумерная перекрестная таблица, созданная на основе таблицы Saiegoods.



Экспорт данных



Экспорт данных

Созданную в Visual FoxPro перекрестную таблицу вы можете использовать впрограммах управления электронными таблицами, таких как Microsoft Excel,Lotus 1-2-3 и т. д. Для этого вы должны ее экспортировать в формат той электронной таблицы, в которой будет осуществляться дальнейшая обработка.

Для экспорта данных предназначена команда Export (Экспорт) из меню File(Файл). В результате выполнения этой команды открывается диалоговое окно Export (Экспорт) (рис. 10.11), в котором вы должны указать исходнуютаблицу, задать формат данных, имя выходного файла, а затем нажать кнопку ОК.



Перекрестные таблицы и диаграммы


В Visual FoxPro имеются мощные средства анализа большого объема информации, хранящегося в базе данных в одной или нескольких таблицах —диаграммы и перекрестные таблицы.

Отображение данных в виде диаграмм и графиков позволяет решать самыеразные задачи. Основное достоинство такого представления — наглядность.На диаграммах хорошо просматриваются тенденции к изменению, различные соотношения, прирост, взаимосвязь различных процессов и т. д.

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

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

В Visual FoxPro для построения диаграмм используется Microsoft Graph.Помимо этого, для построения диаграмм из подготовленных в Visual FoxProданных вы можете использовать Microsoft Excel и другие электронные таблицы, имеющиеся в среде Windows.

  Перекрестные таблицы

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

При работе с Visual FoxPro вы можете использовать одномерные и многомерные перекрестные таблицы. Для создания простейших одномерных перекрестных таблиц применяйте обычный итоговый запрос. Для построениядвумерных и более сложных перекрестных таблиц в Visual FoxPro используется мастер создания перекрестных таблиц Cross-Tab Wizard (Мастер построения перекрестных таблиц).

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




Итоговые ежемесячные объемы продаж товаров



Итоговые ежемесячные объемы продаж товаров




Круговая диаграмма распределения клиентов по городам



Круговая диаграмма распределения клиентов по городам




Одномерная перекрестная таблица



Одномерная перекрестная таблица


Рассмотрим создание перекрестной таблицы, отображающей распределениеклиентов по городам (рис. 10.1). Исходная информация содержится в таблице Customer.

В окне проекта на вкладке Data (Данные) выберите группу Queries(Запросы) и нажмите кнопку New (Новый). Добавьте в окно конструктора запросов таблицу Customer со спискомклиентов. На вкладке Fields (Поля) окна конструктора запросов разместите в списке Selected fields (Выбранные поля) поле ccity и итоговое полеCOUNT (icdcustomer), подсчитывающее количество клиентов. На вкладках Group By (Группировка) и Order By (Упорядочение) установите группировку и упорядочение по полю ccity. Выполните команду Run Query (Выполнить запрос) меню Query (Запрос). Сохраните результат выборки в таблице cntcust, воспользовавшись дляэтого кнопкой Query Destination (Результаты запроса) панели инструментов Query Designer (Конструктор запроса). Данная таблица будет содержать распределение клиентов по городам (см. рис. 10.1). Вы можете использовать эту таблицу для формирования отчета или представленияданных в виде диаграммы.


Одномерные перекрестные таблицы



Одномерные перекрестные таблицы

Простейшим типом перекрестной таблицы является одномерная перекрестная таблица, используемая для анализа распределения данных одного типапо одному фактору.



Определение категории и рядов данных



Определение категории и рядов данных


На следующем шаге вы должны указать тип создаваемой диаграммы(рис. 10.14), выбрав значение из предложенных вариантов. В данномпримере выберите гистограмму. Для перехода к следующему шагу нажмите кнопку Next (Далее).

Определение строк, столбцов и поля данных



Определение строк, столбцов и поля данных


Перенесите поле город в область Column (Колонка), поле код_товара —в область Row (Ряд) и поле сумма — в область Data (Данные). Послеэтого диалоговое окно будет выглядеть так, как показано на рис. 10.6.Нажмите кнопку Next (Далее) для перехода к следующему шагу.



Определение типа диаграммы



Определение типа диаграммы


В последнем диалоговом окне мастера (рис. 10.15) введите заголовокдиаграммы и установите флажок добавления в диаграмму легенд (то естьусловных обозначений рядов данных). Используя кнопку Preview(Просмотр), просмотрите результат своей работы. Еще не поздно вернуться к предыдущим шагам в работе мастера и изменить установленныетам параметры. После этого, используя расположенные в окне переключатели (табл. 10.5), укажите дальнейшие ваши действия.



Определение типа группировки и итогового столбца



Определение типа группировки и итогового столбца




Перекрестные таблицы



Перекрестные таблицы Одномерные перекрестные таблицы Двумерные перекрестные таблицы Создание перекрестной таблицы с помощью мастера Программа создания перекрестной таблицы Экспорт данных Построение диаграмм Создание диаграммы с помощью мастера Graph Wizard Создание трехмерных диаграмм


Построение диаграмм



Построение диаграмм

Для визуального анализа данных, хранящихся в таблицах Visual FoxPro, выможете использовать диаграммы.

В распоряжение разработчика Visual FoxPro предоставляет двенадцать типовдиаграмм. Вам необходимо правильно определиться с ее типом, т. к. одну иту же информацию можно представить с помощью диаграмм разных типов.

Для построения диаграмм в Visual FoxPro используется программа MicrosoftGraph, данные в которую передаются с помощью мастера построения диаграмм или с использованием приложения WZGRAPH.APP.




Программа создания перекрестной таблицы



Программа создания перекрестной таблицы

Мастер перекрестных таблиц использует в своей работе программуVFPXTAB.PRG. Эту программу вы можете вызывать из ваших программ,предварительно подготовив и открыв в текущей области требуемую таблицу.

Для работы программы, создающей перекрестную таблицу, необходимо определить используемые в ней параметры (табл. 10.4).



При создании выборки вы можете



Совет

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



Если исходная таблица содержит много



Совет

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


Создание диаграммы с помощьюмастера Graph Wizard



Создание диаграммы с помощьюмастера Graph Wizard

Для построения диаграммы воспользуемся одномерной перекрестной таблицей CNTCUST, отображающей распределение клиентов по городам. О нейупоминалось в начале данной главы.

На первом шаге создания диаграммы с помощью мастера указывается таблица, для которой строится диаграмма. Это может быть таблица из базыданных или выборка из нескольких таблиц. После выбора полей, используемых при создании диаграммы, вызывается приложение WZGRAPH.APP.Это приложение передает выбранные данные в Microsoft Graph и на их основе создается диаграмма указанного вами типа.

Рассмотрим создание диаграммы с помощью мастера более подробно.

В меню File (Файл) выберите команду New (Новый). В диалоговом окне New (Новый) укажите тип создаваемого объекта Query(Запрос) и нажмите кнопку Wizard (Мастер). Из диалогового окна Wizard Selection (Выбор мастера) запустите мастерасоздания диаграммы, выбрав значение Graph Wizard (Мастер диаграмм). На первом шаге работы мастера выберите исходную таблицу CNTCUST иполя, которые будут использоваться при создании диаграммы(рис. 10.12). Рассматриваемая исходная таблица содержит всего два поля.Выберите их.



Создание перекрестной таблицыс помощью мастера



Создание перекрестной таблицыс помощью мастера

В Visual FoxPro для создания перекрестной таблицы можно использоватьмастер Cross-Tab Wizard (Мастер построения перекрестных таблиц). В появляющемся после запуска мастера диалоговом окне необходимо указать исходную таблицу, которая может быть таблицей из базы данных или являтьсярезультатом выборки данных из нескольких таблиц. Мастер на основе исходной таблицы создает итоговую выборку, в которой группирует и сортирует данные по полям, используемым в качестве строки и столбца перекрестной таблицы, а также вычисляет суммарное значение по заданному полюданных. Затем Visual FoxPro вызывает программу vfpxtab.prg, наименование которой хранится в системной переменной _GENXTAB.

Чтобы продемонстрировать возможности мастера по созданию перекрестнойтаблицы, воспользуемся таблицей Salegoods.

Для создания перекрестной таблицы с помощью мастера выполните следующие действия:

В меню File (Файл) выберите команду New (Новый). В диалоговом окне New (Новый) выберите тип создаваемого объектаQuery (Запрос) и нажмите кнопку Wizard (Мастер). Из диалогового окна Wizard Selection (Выбор мастера) запустите мастерсоздания перекрестной таблицы, выбрав Cross-Tab Wizard (Мастер построения перекрестных таблиц).



Назначение группы переключателей Summaryдиалогового окна



Таблица 10.1. Назначение группы переключателей Summaryдиалогового окна Cross-Tab Wizard Step 3

Переключатель Назначение
Sum (Сумма) Итоговые значения равны сумме значений для каждой парыстрока/столбец
Count (Количество) Итоговые значения равны количеству значений для каждойпары строка/столбец
Average (Среднее) Итоговые значения равны среднему значению для каждойпары строка/столбец
Мах (Наибольшее) Итоговые значения равны наибольшему из всех значений длякаждой пары строка/столбец
Min (Наименьшее) Итоговые значения равны наименьшему из всех значенийдля каждой пары строка/столбец



Назначение группы переключателей Subtotalsдиалогового окна



Таблица 10.2. Назначение группы переключателей Subtotalsдиалогового окна Cross-Tab Wizard Step 3

Переключатель Назначение
Sum of data (Сумма данных) Итоговые значения равны сумме значений длятекущей строки
Number of cells containingdata (Число ячеек, содержащих данные) Итоговые значения равны количеству ячеек, содержащих значения
Percentage of the table total (Процент от итоговой суммы) Итоговые значения равны сумме значений длятекущей строки, выраженной в процентах по отношению к итоговой сумме
None (Нет) Итоговый столбец не создается
Установите опцию Percentage of the table total (Процент от итоговой суммы). Для перехода к завершающей стадии создания перекрестной таблицы нажмите кнопку Next (Далее).

На последнем шаге работы мастера (рис. 10.8) вы можете просмотретьрезультаты, нажав кнопку Preview (Просмотр). Воспользуйтесь этой возможностью и убедитесь, что правильно установили все параметры. Установите в завершающем окне мастера одну из опций, описанных втабл. 10.3. Выберите третий вариант и нажмите кнопку Finish (Готово). Мастер завершит работу и откроет созданный запрос в окне конструктора. Просмотрите SQL-оператор. Для этого в меню Query (Запрос) выберите команду ViewSQL (Показать SQL).



Мастер сохраняет созданный запроси запускает



Таблица 10.3. Назначение переключателей диалогового окна Cross-Tab Wizard Step 4

Переключатель Назначение
Save cross-tab query (Сохранить перекрестную таблицу в запросе) Мастер сохраняет созданный запрос
Save and run cross-tab query (Сохранитьперекрестную таблицу в запросе и запустить) Мастер сохраняет созданный запроси запускает его на выполнение
Save cross-tab query and modify in theQuery Designer (Сохранить перекрестнуютаблицу и открыть для модификации в конструкторе запросов) Мастер сохраняет созданный запроси открывает его в окне конструкторазапросов
Запрос, созданный с помощью мастера, содержит конструкцию для выборкиданных, вызов программы, формирующей перекрестную таблицу, и командупросмотра таблицы в режиме Browse (Просмотр):

SELECT SaleGoods.Код_товара, SaleGoods .Город, SUM(SaleGoods.Сумма);

FROM 'SaleGoods.DBF' SaleGoods;

GROUP BY SaleGoods.Код_товара, SaleGoods.Город;

ORDER BY SaleGoods.Код_товара, SaleGoods.Город;

INTO CURSOR SYS(2015)

DO (_GENXTAB) WITH 'Query',.t.,.t.,.t.,;, ,.t.,0,.t.

BROWSE NOMODIFY

Результат запроса аналогичен приведенному на рис. 10.3.



Параметры программы, создающей перекрестные таблицы



Таблица 10.4. Параметры программы, создающей перекрестные таблицы

Порядковыйномерпараметра Назначение Значениепо умолчанию
1 Имя выходного файла или курсора xtab.dbf
2 Признак создания только курсора True
3 Признак закрытия исходной таблицы при выходе изпрограммы True
4 Признак отображения индикатора работы программы True
5 Номер поля, являющегося строкой перекрестнойтаблицы 1
6 Номер поля, являющегося столбцом перекрестнойтаблицы 2
7 Номер поля, являющегося полем данных перекрестной таблицы 3
8 Признак формирования итогового поля False
9 Тип вычисления итогового поля (0 — сумма, 1 — количество, 2 — доля от итогового значения в процентах)

Воспользуемся программой VFPXTAB.PRG для представления итоговогообъема продаж товара по месяцам в виде перекрестной таблицы.

В окне конструктора запросов создайте запрос, используя таблицыOrdsaiem и Ordsaied. Разместите в итоговых полях код товара, месяц продажи и стоимость проданного товара. Установите группировку данных покоду товара, месяцу продажи и упорядочение данных по коду товара. Просмотрите созданный запрос и убедитесь, что он правильно осуществляет выборку данных из таблиц. Откройте диалоговое окно, в котором отображается SQL-оператор, соответствующий созданному вами запросу. Для этого в меню Query (Запрос)выберите команду View SQL (Показать SQL).  Скопируйте SQL-оператор в буфер обмена Windows. Откройте новое окно редактора программ. Для этого перейдите на вкладку Code (Код) конструктора проекта, установите курсор в группу Programs (Программы) и нажмите кнопку New (Новый). В открывшемся окне новой программы разместите из буфера обменаконструкцию SELECT, определяющую итоговые ежемесячные продажи. Добавьте в вашу программу вызов программы генерации перекрестнойтаблицы:

SELECT SaleMon

DO (_GENXTAB) WITH 'SMon',.F.,.T.,.T.,,,, .T.,2

После размещения в программе всех необходимых команд она будетиметь вид, представленный на рис. 10.9.



Назначение переключателей диалогового окна Graph



Таблица 10.5. Назначение переключателей диалогового окна Graph Wizard Step 4

Переключатель Назначение
Save graph to a form (Сохранитьдиаграмму в форме) Сохраняет созданную диаграмму в форме
Save graph to a table (Сохранитьдиаграмму в таблице) Сохраняет созданную диаграмму в таблице,содержащей поле типа General
Create a query that produces thegraph (Сохранить и создать длядиаграммы запрос) Сохраняет созданный запрос и открывает егов окне конструктора запросов
Выберите третий вариант и нажмите Finish (Готово). Мастер сохранит запрос с заданным именем и откроет окно конструктора с созданным запросом. Тело запроса содержит конструкцию SELECT и команду вызоваприложения создания диаграммы.



Таблица CNTCUST содержит всего...



Таблица CNTCUST содержит всего одно числовое поле, поэтому диаграмма,показанная на рис. 10.17, представляет собой простейшую диаграмму. Дляпостроения более сложной диаграммы обратимся к перекрестной таблице SALEREG.



Таблица Salegoods Двумерная перекрестная таблица



Двумерная перекрестная таблица


Числа в ячейках таблицы соответствуют стоимости проданного товара длякаждой пары уникальных значений "код товара/город". Значения поля, содержащего наименование города, расположены в верхней строке таблицы, азначения поля, обозначающего код проданного товара, — в левом столбцетаблицы. Сохраните таблицу с именем salereg. Ее можно будет использовать при создании трехмерных диаграмм.




Трехмерная диаграмма,построенная для таблицы SALEREG



Трехмерная диаграмма,построенная для таблицы SALEREG


Для создания диаграммы выполните следующие действия:

Запустите мастера создания диаграммы Graph Wizard (Мастер диаграмм). На первом шаге выберите таблицу SALEREG и поля, содержащие код товараи объемы продаж по городам. Чтобы диаграмма была более наглядной, ограничьтесь выбором нескольких городов. Нажмите кнопку Next (Далее). Перенесите поле, содержащее наименование города, в область Axis (Ось),а объемы продаж по городам — в Data Series (Ряд данных). Укажите тип создаваемой диаграммы и нажмите кнопку Next (Далее) дляперехода к завершающей стадии создания диаграммы с помощью мастера. Введите заголовок диаграммы: Продажи по городам.

Созданная диаграмма будет иметь вид, представленный на рис. 10.18.




Установите опцию Sum.



Установите опцию Sum.

На третьем шаге в работе мастера вы можете добавить столбец в создаваемую перекрестную таблицу, который будет содержать итоговое значение по каждой строке результирующей таблицы (см. рис. 10.7). Мастерпозволяет выбрать один из переключателей группы Subtotals (табл. 10.2).

Выбор исходной таблицы и полей



Выбор исходной таблицы и полей


На втором шаге в работе мастера (рис. 10.5) необходимо указать расположение полей в создаваемой перекрестной таблице. Вам предлагаетсяразместить поля таблицы в трех полях диалогового окна. Для перемещения полей используйте метод "перенести-и-оставить".

Выбор исходной таблицы и полей



Выбор исходной таблицы и полей


Завершив выбор полей, нажмите кнопку Next (Далее).5. В следующем диалоговом окне мастера (рис. 10.13) выполните действия:

укажите поле, содержащее названия городов, значения которого будутиспользоваться в категориях диаграммы; укажите поле, содержащее количество клиентов, значения которогобудут использоваться в рядах данных.

Для этого перенесите поле город исходной таблицы в область Axis (Ось),а поле количество — в область Data Series (Ряд данных) диалогового окна. Затем нажмите кнопку Next (Далее).



Для запуска мастера по созданию



Замечание

Для запуска мастера по созданию перекрестной таблицы можно также в менюTools (Сервис) выбрать команду Wizard (Мастер), а затем — значение Query(Запрос). При этом открывается диалоговое окно Wizard Selection (Выбор мастера).
В первом окне мастера (рис. 10.4) выберите исходную таблицу Salegoodsи все три поля, которые будут использоваться в качестве строки, столбцаи поля данных перекрестной таблицы. Для перехода к следующему шагунажмите кнопку Next (Далее).

В режиме редактирования можно настраивать



Замечание

В режиме редактирования можно настраивать самые разнообразные параметры диаграммы: формат отображения данных, заголовок диаграммы, надписиосей, параметры сетки, шрифт, формат выводимых значений и т. п.
Созданная нами диаграмма является одномерной. Для исходной таблицы выможете также построить круговую диаграмму, которая позволяет увидетьотносительный вклад каждой из величин в итоговое значение (рис. 10.17).Каждому элементу данных на диаграмме соответствует сектор круга, а суммарному значению — весь круг.



Завершающая стадия создания диаграммы



Завершающая стадия создания диаграммы


Запустите запрос на выполнение. Снова вызывается мастер построения диаграмм, предлагая повторитьшаги с третьего по пятый. На завершающей стадии построения диаграммы задайте ее заголовок, нажмите кнопку Finish (Готово) и введите имяформы, в которой будет храниться созданная диаграмма. После этогомастер вызывает программу Microsoft Graph, в которую передает результаты выборки и параметры диаграммы. На рис. 10.16 показана созданнаядиаграмма.

Диаграмма сохранена в форме. Вы можете открыть форму, изменить типдиаграммы или отформатировать ее элементы. Для подробного ознакомления с этими возможностями обратитесь к справочной системе MicrosoftGraph или руководству пользователя.

Чтобы перейти в режим редактирования диаграммы, выделите диаграмму ивыберите из контекстного меню команду Chart Object (Объект "диаграмма"),а затем команду Edit (Правка). Теперь вы можете приступить к изменениюее параметров.



Завершающая стадия создания перекрестной таблицы



Завершающая стадия создания перекрестной таблицы




Завершающая стадия создания перекрестной таблицы



Завершающая стадия создания перекрестной таблицы


Сохраните программу с именем Salemon.prg и запустите ее на выполнение. Будет создана таблица smon с ежемесячными итоговыми объемамипродаж товаров (рис. 10.10).