|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Все добрый день, попытаюсь на словах изложить проблему с которой столкнулся. Использую Firebird 2.5 много нового узнал,кое чему научился. Но вот столкнулся с проблемой вывода данных в нужном мне формате. Суть проблемы в том, что есть таблица, в которой хранятся детализации. id_d, name, id_i, count_items 1 , ffff, null, 1 1, null, 2, 1 1, null, 3, 4 2, dddd, null, 2 2, null, 2, 3 2, null, 1, 5 Мне же нужно вывести ту таблицу в другом ввиде: чтобы название детализаций попали в названия колонок и по каждой пробежаться, при этом выводился список итемов которые входят в эти детализации id_i, ffff, dddd, summ 1, 0, 5, 5 2, 1, 3, 4 3, 3, 0, 4 Вообщем, что-то на подобии отчёта. Почитав немного интернет, нащёл функцию в МС СУЛ PIVOT, но такого нет в ФБ. Какой у меня тут может быть выход? Прошу помощи... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 00:23 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
DozentВообщем, что-то на подобии отчёта. "Коли нужен чёрт, так и иди к чёрту." (с) НВГ Почти любой отчётник умеет выводить cross-tab АКА шахматка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 00:28 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
с Delphi XE8 идет такой?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 00:36 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozentс Delphi XE8 идет такой?)) https://www.embarcadero.com/ru/products/rad-studio/fastreport ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 09:11 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
он функционален? По нему покликать можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 11:46 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, К нему демки идут - посмотри для начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2016, 12:09 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
не могу найти, подскажите где демки искать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 11:17 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Папка с демками пустая C:\Program Files (x86)\FastReports\Demos ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 11:42 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Hello, Dozent! You wrote on 12 января 2016 г. 11:57:08: Dozent> Папка с демками пустая C:\Program Files (x86)\FastReports\Demos пиши в службу поддержки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 11:56 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, Если надо на сервере, то как вариант создай временную таблицу Код: sql 1. 2.
заполняй её в процедуре, потом простым селектом из неё вытягивай на клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 20:55 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Попробуйте сначало селект формировать потом этот селект вызвать Пример Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2016, 08:25 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
не получается чо то этот запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 19:36 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, Как вариант в IBE есть Data Analysis. Описываешь куб: 1. Два измерения: name, id_i. 2. Одну меру: summ. Ну и строишь запрос по этому кубу: name в колонки, id_i в строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 12:58 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, Да, если вдруг мой совет полезен, то подробности где-то здесь: [spoiler] ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 13:21 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, Я разворачиваю таблицы через EXECUTE BLOCK, правда с именами колонок приходится мутить, но это мелочь ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:52 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
AndreyTarasov, вчера как раз пришлось срочно заниматься чем-то подобным. Получилось что-то типа этого (хотя в доках предупреждают, что этого лучше не делать): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 09:40 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
dedRastaв доках предупреждают, что этого лучше не делатьТак точно, там обрыв. в многопользовательской среде гарантированы не то только грабли, но и вилы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 12:45 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozentне получается чо то этот запрос Вот попробуйте стандартная демо база Employee внем есть таблица департамент 1) Формируем селект или напишите процедуру который возвращает текст varchar(4000) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
2) Этот селект передаем query.sql.text: Примерно формирует так и все Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:45 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Ivan_PisarevskydedRastaв доках предупреждают, что этого лучше не делатьТак точно, там обрыв. в многопользовательской среде гарантированы не то только грабли, но и вилы. Все правильно, я там и не решился, выполнил на локальной копии базы, а уже созданную таблицу перелил на локальный сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 15:53 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Времени было мало. Пока остановился на этом это почти то что надо Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Ещё нашёл решение через Ehlib PivotGrid пока и туда и туда компаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 18:29 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
dedRastaAndreyTarasov, вчера как раз пришлось срочно заниматься чем-то подобным. Получилось что-то типа этого (хотя в доках предупреждают, что этого лучше не делать): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
а я временные таблицы не создаю, я в execute block сразу формирую нужный отчет случилось так что заказчик вроде продумал все данные в базе, а вот фантазии на отчеты у него не хватило и я решил просто сделать дизайнер отчетов, где программа в полуавтоматическом режиме формирует любой запрос общая идея такая: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 04:18 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Hello, Andreytarasov! почему бы для отчетов не использовать отчётники? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 11:32 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Дело в том что мне не просто отчёт вывести надо а вывести таблицей данные ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 18:28 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
Dozent, Отчётники и в ексель сохранять умеют! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 18:33 |
|
Аналог PIVOT или как можно расписать данные
|
|||
---|---|---|---|
#18+
DozentДело в том что мне не просто отчёт вывести надо а вывести таблицей данные делай через execute block, если один отчет - то обойдешься 2мя запросами или вообще одним у меня в конструкторе отчетов несколько блоков, для удобства пользователей: блок для определения количества колонок блок с шаблоном запроса, где выделены места повторяющиеся по количеству колонок и еще блок запроса параметров ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 05:14 |
|
|
start [/forum/topic.php?fid=40&fpage=38&tid=1561286]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
others: | 290ms |
total: | 458ms |
0 / 0 |