Как я могу получить среднее значение для строки в матрице

Имейте матричный отчет, в котором есть Положение, Часы и Заработная плата для местоположения за месяц.
Может быть любое количество мест... поэтому я начинаю с отчета 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
Другие вопросы по тегам