powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Итоги в сложном наборе данных для отчета SSRS2008
5 сообщений из 5, страница 1 из 1
Итоги в сложном наборе данных для отчета SSRS2008
    #38615317
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
partvalue1value2stuff1valuestuff2valuepart112stuff1.13stuff1.1.15part112stuff1.13stuff1.1.26part112stuff1.28stuff1.2.17part242stuff2.13stuff2.1.15part242stuff2.23stuff2.2.16part3845stuff3.15stuff3.1.11013492239
в отчет получаю такой набор данных (без последней строки - в ней итог, который нужно получить)
Набор получается после последовательных JOIN (отсюда и дубляж)
Как-то можно исхитриться в SSRS?
...
Рейтинг: 0 / 0
Итоги в сложном наборе данных для отчета SSRS2008
    #38615466
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

у меня тоже были похожие ситуации, решал на стороне сервера. Если MS SQL 2005 и выше, то можно через ранжирующие функции.
...
Рейтинг: 0 / 0
Итоги в сложном наборе данных для отчета SSRS2008
    #38615539
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,

чуть подробнее? как-то не особенно представляю, как можно оконные функции применить (хотя в эту сторону смотрел)
...
Рейтинг: 0 / 0
Итоги в сложном наборе данных для отчета SSRS2008
    #38615720
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

я когда-то задавал похожий вопрос 14046546 ...

Одно из решений нашего случая
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @t table (part varchar(50), value1 int, value2 int, stuff1 varchar(50), value3 int, stuff2 varchar(50), value4 int)
insert @t select 'part1', 1, 2, 'stuff1.1', 3, 'stuff1.1.1', 5 union all select 'part1', 1, 2, 'stuff1.1', 3, 'stuff1.1.2', 6
union all select 'part1', 1, 2, 'stuff1.2', 8, 'stuff1.2.1', 7 union all select 'part2', 4, 2, 'stuff2.1', 3, 'stuff2.1.1', 5
union all select 'part2', 4, 2, 'stuff2.2', 3, 'stuff2.2.1', 6 union all select 'part3', 8, 45, 'stuff3.1', 5, 'stuff3.1.1', 10

;with tmp as (
  select *,
  case when row_number() over(partition by part order by (select 0)) = 1 then value1 else 0 end [value1_tmp],
  case when row_number() over(partition by part order by (select 0)) = 1 then value2 else 0 end [value2_tmp],
  case when row_number() over(partition by stuff1 order by (select 0)) = 1 then value3 else 0 end [value3_tmp],
  case when row_number() over(partition by stuff2 order by (select 0)) = 1 then value4 else 0 end [value4_tmp]
from @t
)
select part, value1, value2, stuff1, value3, stuff2, value4,
sum(value1_tmp) over() [Value1_Total], sum(value2_tmp) over() [Value2_Total], sum(value3_tmp) over() [Value3_Total], sum(value4_tmp) over() [Value4_Total]
from tmp


В SSRS, в тех ячейках, где должны быть итоги, просто указываем поля Value1_Total ... Value4_Total без всяких sum() и прочих формул.
...
Рейтинг: 0 / 0
Итоги в сложном наборе данных для отчета SSRS2008
    #38615876
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,
о. балшой тебе спасиб ;) Реально направил на путь истинный.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Итоги в сложном наборе данных для отчета SSRS2008
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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