读书人

新手 数据表 矩阵计算 交叉查询,该怎么

发布时间: 2012-02-22 19:36:55 作者: rapoo

新手 数据表 矩阵计算 交叉查询
这是从实际问题中提炼出来的模型,由于原问题有点复杂,不多说。请大家帮忙看下下边的问题,帮忙解决,不胜感激!

已知:
表1:分配标准
职称A职称B职称C
物品甲987
物品乙654
物品丙321
……………………
其中职称固定,物品可能变动。该矩阵即为A

表2:各部门人员分布
职称A职称B职称C
部门1235
部门2335
部门3345
部门4126
……………………
其中职称固定,部门可能变动。该矩阵记为B

要生成:
(动态)表3: 各部门分配
物品甲物品乙物品丙……
部门1774717
部门2865320
部门3945822
部门4674013
……
该矩阵记为C

在excel中以上计算可通过矩阵相乘函数MMULT完成,即

C=B*A’ 即 =MMULT(分布,TRANSPOSE(标准))

但每次计算完之后,如果有新的数据增减还要重新命名区域,很不方便。考虑可以用vba实现动态更改命名区域(即A,B,C的大小),但小弟不才,目前无法实现。
考虑到还要与其他表格联系,便于扩展,想用数据库实现以上功能,发现困难更大,还望高手指点!谢谢!
欢迎回帖,或直接指导:QQ@EMAIL:liangxinhui@qq.com
谢谢!

[解决办法]

SQL code
TRANSFORM Sum(a.职称A*b.职称A+a.职称B*b.职称B+a.职称C*b.职称c) AS f3OfSumSELECT b.部门FROM 表1 a ,表2 bGROUP BY b.部门PIVOT a.物品; 

读书人网 >Access

热点推荐