0

现在有一个矩阵报告,其中包含一个位置一个月的职位、小时数和工资。
可能有任意数量的位置...这就是为什么我从 Matrix 报告开始...用户最多可以选择 50 个位置进行查看。

    
                   位置 1 位置 2
               总小时数 总小时数
    位置 1 441.68 $4,201.46 556.73 $6,103.67

我们想得到那个月的平均位置,就像这样

                   位置 1 位置 2 平均
               总小时数 总小时数 平均小时数
    位置 1 441.68 $4,201.46 556.73 $6,103.67 499.20

不能完全弄清楚如何让它在 SSRS 2005 中工作......

4

2 回答 2

1

您可以使用公式 (rs!localtion1Hrs + rs!location2hrs) / 2 计算字段。

或者

用于显示报告的查询可以将此字段作为计算列。

于 2009-05-28T19:23:42.403 回答
0

很确定我已经通过使用以下作为报表的数据集并在报表布局中使用矩阵来解决这个问题。

基本上我做了上面shahkalpesh所说的......“用于显示报告的查询可以将此字段作为计算列。”

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
于 2009-06-01T17:59:01.437 回答