Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于在开始和完成日期之间平摊和汇总工作量的问题

lt  发表于:2010-04-22 22:12:37  
复制

假如有以下表数据:

工作项目   开始日期       结束日期       工作量
设备安装   2009-10-12     2010-1-20      100.00
……… 

 

需要产生如下数据:

 

工作项目   2009年10月    2009年11月          2009年12月                2010年1月
设备安装     19.00         30.00                 31.00                     20.00

………

即需要按天数平均分配工作量,然后采用列按月汇总。

 

 

这个查询怎么做?请大家指点一下,非常感谢。

 

Top
lt 发表于:2010-04-24 10:51:58

没有人回复,研究了一下,还是我自己回答吧。

首先先要建立一个公司日历表,然后查询如下:

 

 TRANSFORM Round(Sum(Q.每月数量))
SELECT Q.工作项目
FROM (SELECT 公司日历.年第几月, 表1.工作项目, sum(表1.工作量/(表1.完成日期-表1.开始日期)) AS 每月数量
FROM 公司日历 LEFT JOIN 表1 ON (公司日历.日期>=表1.开始日期) AND (公司日历.日期<=表1.完成日期)
WHERE 表1.工作项目 is not null
GROUP BY 公司日历.年第几月, 表1.工作项目) AS Q
GROUP BY Q.工作项目
PIVOT Q.年第几月



总记录:1篇  页次:1/1 9 1 :