|
|
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
Из БД на MS SQL, получаю набор данных Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Надо получить в Crystal Reports 10 вот такой отчет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Вся проблема в строках ниже общих итогов, в тех которые представляют общие суммарные объемы по строкам сгруппированным по Производителю работ. ( две последние, выделены курсивом ) Кол-во мест проведения работ, производителей, типов работ величины переменные. Сам смог додуматься только до следующего 1. Сформировать sql-запросом нужный, в конце концов, набор строк т.е. со всеми агрегатными строками, а средствами Crystal Reports его просто отформатировать. Но по моему это какая то кривая идея. 2. Наверное можно было бы добавить строки с общими итогами по Производителю работ(те последние, выделены курсивом) с помощью Subrepert. Но данный отчет уже сам Subrepot. 3. Общие итоговые объемы по Производителям вычислить в Crystal Reports с помощью формул. В принципе это возможно т.к. на данный момент Производителей всего два. Но это то-же плохая идея т.к. через месяц их может стать три, через 3 месяца четыре и т.д. Выручите, подскажите пожалуйста, хотя бы в каком направлении думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 08:53 |
|
||
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
ru_efim, 1. Сформировать sql-запросом нужный, в конце концов, набор строк т.е. со всеми агрегатными строками, а средствами Crystal Reports его просто отформатировать. Но по моему это какая то кривая идея.Почему кривая? Можно одним select`ом Код: 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. Результат: МестоПроизводительТип работОбъем (шт.)Объем (п.м.)Карьер 1производитель работ Aтип работ 110100Карьер 1производитель работ Aтип работ 21050Итого производитель работ A20150Карьер 1производитель работ Bтип работ 15100Итого производитель работ B5100Итого Карьер 125250Карьер 2производитель работ Aтип работ 1550Итого производитель работ A550Карьер 2производитель работ Bтип работ 210100Итого производитель работ B10100Итого Карьер 215150Карьер 3производитель работ Aтип работ 11050Карьер 3производитель работ Aтип работ 21050Итого производитель работ A20100Карьер 3производитель работ Bтип работ 120100Карьер 3производитель работ Bтип работ 220100Итого производитель работ B40200Итого Карьер 360300Всего100700В том числе производитель работ A45300В том числе производитель работ B55400 З.Ы. select можно и упростить (там где куча case when ) в зависимости от того, как будет отображать Crystal на экране ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 14:10 |
|
||
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
Не стоит делать изврат там где можно решить вопрос средствами отчетной системы. У Автора топика была, вполне, здравая идея, одно уточнение нужно не два подотчета а один, реализующий альтернативную группировку с те ми же параметрами, что и у основного отчета. И подсоединить подотчет по входящим параметрам основного отчета. Единственный минус этого решения - одинаковый запрос будет выполняться два раза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 15:53 |
|
||
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
ustass, имхо, делать сабрепорт далеко не лучшее решение. Если данных много и запрос выполняется хотя бы 3-5 сек, то увеличение времени формирования отчета в два раза будет очень заметным. ru_efim, итоги можно сделать при помощи формул и не завязываясь на количество производителей работ. С помощью использования массивов, например. Сделать это чуточку сложнее, чем добавить еще один сабрепорт, зато работать будет быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 17:43 |
|
||
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
MarusyaD, Формулы можно использовать только в том случае если количество значений "производитель работ" конечно и не поменяется в дальнейшем. Или вы предлагаете накапливать все уникальные значения в строке через разделители и парсить ее для каждой строки датасета . Кроме того запрос в сабрепорте можно изменить оставив только необходимые поля для подотчета("производитель работ" и две суммы) и фильтры, аналогичные основному запросу.В этом случае скорость работы приблизится к скорости выполнения запроса, предложенного SQLPowerUser , а процесс создания и дальнейшей поддержки будет гораздо легче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2010, 10:36 |
|
||
|
Как создать такой отчет в Crystal Reports? Куб-не куб, объединение 2-ух subtotals.
|
|||
|---|---|---|---|
|
#18+
А что мешает это сделать двойной группировкой? Первая по полю "Место", вторая по "Производитель". Таким образом получится "вложенная группировка", а ИТОГО можно запихнуть в групфутер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2011, 17:38 |
|
||
|
|

start [/forum/topic.php?fid=31&fpage=55&tid=1534897]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 176ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...