FoxPro8
938aad90

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


Мастер перекрестных таблиц использует в своей работе программу 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 для представления итогового объема продаж товара по месяцам в виде перекрестной таблицы.

  • В окне конструктора запросов создайте запрос, используя таблицы ordsalem и ordsaled. Разместите в итоговых полях код товара, месяц продажи и стоимость проданного товара. Установите группировку данных по коду товара, месяцу продажи и упорядочение данных по коду товара.
  • Просмотрите созданный запрос и убедитесь, что он правильно осуществляет выборку данных из таблиц.
  • Откройте диалоговое окно, в котором отображается 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. Итоговые ежемесячные объемы продаж товаров


    Содержание раздела