各位大侠,今日碰到一个难题,需要显示公司各个部门的一个所有费用的统计表;显示效果如下(没法画表格线了): 
            普通费用报销单                      办公用品                    合计            
          交通费        餐费                文具        打印纸  
部门    总额  人均  总额  人均            总额  人均  总额  人均    总额  人均  总额  人均 
技术部  100  110  120    14        7680    768    76  67        
部门2  200  210  2020  2450      2678    860    678  678  
部门3  300  310  33    45        3760  6780    6780  8768  
部门4  400  410  404    43        54    8678    867  867  
合计:  1000  **    2000  *** 
统计表格说明: 
1.普通费用报销单,办公用品  ---属于费用大类,目前是固定的 
2.交通费,餐费 ,文具, 打印纸  --是大类下面的小类,是可变的。 
3.总额就是求和,人均=总额/(对应部门的人数) 4.点击部门名称,还要弹出一个页面,就是显示这个部门的所有人员的统计表,表格样式和这个差不多,就是不需要人均那列。 
涉及的表有5个, 1.人员表:User 
字段: ID ,userName,DeptID(部门ID) 
        1,张三  ,  1 
2部门表:Dept 
字段: ID ,DeptName 
        1,技术部 3.费用小类名称表:ExpenseType 
字段:ID, bigType(所属大类名称),SmallType 
      1  ,办公用品            ,文具 
        2  ,办公用品            ,打印纸 4.用户费用表UserExpense 
字段: ID,UserName ,bigType(费用大类) 
      1,  张三 ,  办公用品 
5.费用明细表Detail 
字段: ID,Money,smallType,ExpenseID(用户费用表UserExpense的ID) 
      1,  200 ,  文具    ,1 
      2,  100 ,  打印纸    ,1 
请高人指点? 

解决方案 »

  1.   

    如果是要导出数据就比较好做,导出成EXECL然后用透视表
    如果是在系统内就需要用到报表系统的交叉表,一般像PB,水晶报表都支持交叉表的
      

  2.   

    多谢楼上几位,我研究下交叉表,有兄弟能提供个样例不?
    领导不喜欢导出到excel.导出的话也要先生成数据源,这个感觉很头疼,涉及的表太多。
      

  3.   

    PB里很简单的
    SQL写好,就是普通的SQL
    然后DATAWINDOW里先交叉表就能生成
      

  4.   

    交叉表的作用就是把行转成列,SQL语句写行容易,固定的行列转换也容易,不固定的就麻烦了
    我贴图的这个也是不固定的行列转换