Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Развернуть таблицу? / 7 сообщений из 7, страница 1 из 1
21.02.2006, 22:55
    #33559541
burik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
У меня есть примерно следующая таблица

kod Name god n1 n1 n3
1235451 Иванов 2004 13,50 12,00 17,80
1235451 Иванов 2005 11,00 0,00 5,00

Как с помощью VFP7 ее развернуть в такой вид

kod Name n1_2004 n1_2005 n2_2004 n2_2005 n3_2004 n3_2005
1235451 Иванов 13,50 11,00 126,00 0,00 17,80 5,00

Большое спасибо!
...
Рейтинг: 0 / 0
21.02.2006, 23:58
    #33559600
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
В данном конкретном случае можно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT ;
	kod, ;
	name, ;
	SUM(IIF(god =  2004 , n1,  0 )) as n1_2004, ;
	SUM(IIF(god =  2005 , n1,  0 )) as n1_2005, ;
	SUM(IIF(god =  2004 , n2,  0 )) as n2_2004, ;
	SUM(IIF(god =  2005 , n2,  0 )) as n2_2005, ;
	SUM(IIF(god =  2004 , n3,  0 )) as n3_2004, ;
	SUM(IIF(god =  2005 , n3,  0 )) as n3_2005 ;
FROM MyTab ;
GROUP BY ;
	kod, ;
	name
...
Рейтинг: 0 / 0
23.02.2006, 00:10
    #33562034
burik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
Ну и балбес я.
Спасибо огромное!
...
Рейтинг: 0 / 0
23.02.2006, 01:32
    #33562069
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
Hi burik!

Посмотри исходный код vfpxtab.prg, или лучше скачай fastxtab.prg (через
Google найдёшь) - там создаются кросс-таблицы для одного "поля данных" -
тебе же надо адаптировать это для 3-х полей - но принцип будет тот-же.
А ещё проще - закачать таблицу в Excel и сделать там из неё "сводную
таблицу" - и возможностей для анализа (фильтрация, группировка,
суммирование) много, и красиво, и с печатью проблем нету. Причём делать это
вполне можно и программно.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
23.02.2006, 21:59
    #33563105
burik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
Я знаю о vfpxtab.prg. Он немножко мне не подходит поскольку у меня в реальной таблице гараздо больше результирующих полей. Мне просто нужно их разворачивать по годам. Я это могуо зделать, но код очень огромный. И что -то мне подсказывает, что есть решение гараздо проще.
...
Рейтинг: 0 / 0
24.02.2006, 02:13
    #33563265
Uггi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
Разворачивать по годам в одном отчете все равно можно только что-нибудь одно.
Сделай так, чтобы у тебя все свелось только к трем полям, по которым можно сделать кросс-табуляцию. Первое поле - которое определяет строки - будет ключом кросс-таблицы, но оно должно быть таким ключом, по которому можно ссылаться на другие таблицы. Далее SET RELATION - и вуаля: в отчете любое количество столбцов. ;-)
...
Рейтинг: 0 / 0
03.03.2006, 02:16
    #33578614
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернуть таблицу?
Hi burik!

> Я знаю о vfpxtab.prg. Он немножко мне не подходит поскольку у меня в
> реальной таблице гараздо больше результирующих полей.

Потому я и говорю - возьми за аналог, но доработай под твою схему (чтоб он
обрабатывал не 3 поля, а столько сколько тебе надо)

> Я это могуо зделать, но код очень огромный.

Да и работает наверное не шустро...

> И что -то мне подсказывает, что есть решение гараздо проще.

Есть конечно - сводные таблицы в Excel.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Развернуть таблицу? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]