|
Сводная таблица (Pivot) в XSLT
|
|||
---|---|---|---|
#18+
Привет, Подозреваю, что должна быть возможность, но не знаю, как сделать следующее. Есть входной набор данных такого вида: F1F2F3F4F5F6Центральный1Тульская область10120Центральный2Москва5,5140Центральный2Москва10130Южный1Краснодарский край8,5150Приволжский1Удмуртская Республика102120Уральский1Ханты-Мансийский А.О.5,5290Уральский2Челябинская область5,53150Уральский2Челябинская область77500Уральский2Челябинская область11,5160Уральский2Челябинская область134200Дальневосточный1Республика Саха (Якутия)132130 XML этих данных: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Требуется сложить эти данные в сводную таблицу со структурой, представленной на скриншоте. Кто может подсказать, реализуемо ли это и если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2010, 18:17 |
|
Сводная таблица (Pivot) в XSLT
|
|||
---|---|---|---|
#18+
Anton_Demin, по ссылке речь идёт об обыкновенной плоской группировке. А вопрос в том, как сделать аналог сводной таблицы Excel, когда одномерный набор данных сворачивается в 2-мерное представление: Помимо построчной группировки, делается ещё и группировка по столбцам (по значениям в поле F4). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2010, 10:07 |
|
Сводная таблица (Pivot) в XSLT
|
|||
---|---|---|---|
#18+
mrxiiiAnton_Demin, по ссылке речь идёт об обыкновенной плоской группировке. А вопрос в том, как сделать аналог сводной таблицы Excel, когда одномерный набор данных сворачивается в 2-мерное представление: Помимо построчной группировки, делается ещё и группировка по столбцам (по значениям в поле F4). Сгруппируйте также F4 (вложенный for-each-group). что то на подобие этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
А вообще правильнее и проще посчитать/сгруппировать все на стороне сервера (sql-запросами) и вернуть dataset состоящий из нескольких таблиц, содержаних тоталы, уникальные группы и т.п. И уже это все раскладывать с помощью xslt. При этом xslt будет гораздо проще и без всяких группировок, которые кстати только в xslt 2.0 поддерживаются по-моему. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2010, 13:05 |
|
Сводная таблица (Pivot) в XSLT
|
|||
---|---|---|---|
#18+
Роман, спасибо, так уже и сделано. Агрегированные (распределённые по столбцам) данные подготовлены в SQL с помощью группировок и выгружены из SQL в XML/XSLT конструкциями вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
(с элементами xml-таблиц Excel) Далее блоки XML (например, описание агрегированных данных) выводятся в результирующий файл отчета, а блоки XSLT (например, описания форматирования столбцов с неизвестным заранее их количеством) вставляются в XSLT-код с добавлением необходимых ns-префиксов (т.к. возникали проблемы с недопустимыми двоеточиями при получении набора данных в Oracle BI Publisher) примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Наверняка, есть способ обойтись без генерации XML в SQL, а использовать только возможности XSLT, но пока такого решения не найдено. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2010, 15:54 |
|
Сводная таблица (Pivot) в XSLT
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2010, 18:56 |
|
|
start [/forum/search_topic.php?author=p75f555&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 438ms |
total: | 616ms |
0 / 0 |