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