Как я могу получить среднее значение для строки в матрице
Имейте матричный отчет, в котором есть Положение, Часы и Заработная плата для местоположения за месяц.
Может быть любое количество мест... поэтому я начинаю с отчета Matrix... пользователь может выбрать до 50 мест для просмотра.
Расположение 1 Расположение 2 Общая сумма в часах Общая сумма в часах Position1 441,68 $4 201,46 556,73 $6 103,67
Мы хотели бы получить среднее значение по позиции за этот месяц, например,
Местоположение 1 Местоположение 2 Avg Общая сумма часов Общая сумма часов Средние часы Position1 441,68 $4 201,46 556,73 $6 103,67 499,20
Не могу понять, как заставить это работать в SSRS 2005...
2 ответа
Вы можете получить вычисляемое поле с формулой (rs! Localtion1Hrs + rs! Location2hrs) / 2.
ИЛИ ЖЕ
Запрос, используемый для отображения отчета, может иметь это поле в качестве вычисляемого столбца.
Я уверен, что я решил эту проблему, используя следующие данные как DataSet для отчета и используя матрицу в макете отчета.
По сути, я сделал то, что сказал шахкалпеш выше..."В запросе, показывающем отчет, это поле может иметь вычисляемый столбец".
select
'Avg' as LocationID,
'Avg' as Description,
AccountDesc,
@PayrollYear as Year,
@PayrollMonth as Month,
avg(s.TotalHrs) as TotalHrs,
avg(s.Amount) as Amount from
(
select LocationID, 'Avg' as Description, AccountDesc,
@PayrollYear as Year, @PayrollMonth as Month,
sum(TotalHrs) as TotalHrs,
sum(Amount) as Amount from vwPayroll
where LocationID in (select value from dbo.ParmsToList(@PayrollLocIds))
and Year = @PayrollYear and Month = @PayrollMonth
group by LocationID, AccountDesc, Year, Month
) as s
group by AccountDesc
union all
select
LocationID,
Description,
AccountDesc,
Year,
Month,
Sum(TotalHrs) as TotalHrs,
Sum(Amount) as Amount
from vwPayroll
where LocationID in (select value from dbo.ParmsToList(@PayrollLocIds))
and Year = @PayrollYear and Month = @PayrollMonth
group by LocationID, Description, AccountDesc, Year, Month