| Статья :: visual foxpro Программа создания перекрестной таблицы |
Программа
создания перекрестной таблицы
Мастер перекрестных таблиц использует
в своей работе программуVFPXTAB.PRG. Эту программу вы можете вызывать из ваших
программ,предварительно подготовив и открыв в текущей области требуемую таблицу.
Для работы программы, создающей
перекрестную таблицу, необходимо определить используемые в ней параметры (табл.
10.4).
Таблица 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.
Рис. 10.9. Завершающая
стадия создания перекрестной таблицы
-
Сохраните программу
с именем Salemon.prg и запустите ее на выполнение. Будет создана таблица smon
с ежемесячными итоговыми объемамипродаж товаров (рис. 10.10).
Рис. 10.10. Итоговые
ежемесячные объемы продаж товаров
Совет
При создании выборки вы можете
для определения имени месяца вместо егономера использовать подготовленную
заранее функцию. Однако в этом случаепри упорядочении выборки по месяцам в
перекрестной таблице названия месяцев будут расположены в алфавитном, а не
в хронологическом порядке.
|
|
|