想生成报告,该报告计算物料在仓库中的天数。 天数为物料进入日期($3 field)
与报告生成日期 之间的差异以查看清单。 现在,我该如何解决这个问题。而且,一旦我得到的天数, 这些必须被归类为基于天数计算老化桶
CAT-1 for the days 0-30Days,CAT-2 for days 31-60Days,CAT-3 for days 61-90Days,CAT-4 for days 91-180Days,
CAT-5 for days 181-365Days,CAT-6 for days 365-730Days,CAT-7 for days Greaterthan>730Days
对Product($4) and Material($5)
明智的组合。
Input.csv
Des11,Des22,DateIn,Product,Material,Loc11,Loc22
10,a,15-SEP-14.11:09:06,ab,pq,yyy,zzz
20,a,23-SEP-14.08:09:35,ab,pq,yyy,zzz
10,a,15-MAY-14.08:09:26,ab,pq,yyy,zzz
62,a,17-FEB-12.03:09:23,ab,pq,yyy,zzz
10,a,04-NOV-14.11:09:06,cd,rs,yyy,zzz
20,a,12-AUG-14.08:09:35,cd,rs,yyy,zzz
10,a,16-DEC-13.08:09:26,cd,rs,yyy,zzz
62,a,18-DEC-13.03:09:23,cd,rs,yyy,zzz
例如,我calulating老化桶像下面手动: 报告生成的日期是手动进给,所以我可以能够使用任何格式像05-NOV-14或05-NOV-2014或然而20141105 ,我没有任何权利来改变输入馈即15-SEP-14.11:09:06
DateofReportGen,DateIn($3),DateIn,NoOfDays,Ageing Bucket
05-Nov-14,15-SEP-14.11:09:06,15-Sep-14,51,31-60Days
05-Nov-14,23-SEP-14.08:09:35,23-Sep-14,43,31-60Days
05-Nov-14,15-MAY-14.08:09:26,15-May-14,174,91-180Days
05-Nov-14,17-FEB-12.03:09:23,17-Feb-12,992,Greaterthan>730Days
05-Nov-14,04-NOV-14.11:09:06,04-Nov-14,1,0-30Days
05-Nov-14,12-AUG-14.08:09:35,12-Aug-14,85,61-90Days
05-Nov-14,16-DEC-13.08:09:26,16-Dec-13,324,181-365Days
05-Nov-14,18-DEC-13.03:09:23,18-Dec-13,322,181-365Days
我试图找到 “无天的”但遭到袭击
awk -F, -v q='"' '{
c="date -d"q$3q" +%s";c|getline d1;close(c);
c="date -d"q05-NOV-14q" +%s";c|getline d2;close(c);
printf "%s,%d\n", $0,(d2-d1)/3600/24}' Input.csv
所需的输出:
产品和材料的伯爵明智的基础上帐龄时段:
Product,Material,0-30Days,31-60Days,61-90Days,91-180Days,181-365Days,365-730Days,Greaterthan>730Days
ab,pq,0,2,0,1,0,0,1
cd,rs,1,0,1,0,2,0,0
我期待您的建议,没有的Perl/Python的访问!
编辑#1:感谢gboffi您的输入,而下面的脚本执行此,我得到 “elapsed_days” 为16410.3
所有项目...请建议
awk -F, 'NR==1 {print}
NR>1 {date=$3;
gsub("[-.]"," ",date);
printf $0 ",";system("date --date=\"" date "\" +%s")}
' $filename | awk -F, -v OFS=, -v now=`date +%s` '
NR==1 {print $0 ",elapsed_days"}
NR>1 {$8=now-$8; $8=$8/24/3600;print $0}' Input.csv
输出 - 编辑#1:
Des11,Des22,DateIn,Product,Material,Loc11,Loc22,elapsed_days
10,a,15-SEP-14.11:09:06,ab,pq,yyy,zzz,16410.3
20,a,23-SEP-14.08:09:35,ab,pq,yyy,zzz,16410.3
10,a,15-MAY-14.08:09:26,ab,pq,yyy,zzz,16410.3
62,a,17-FEB-12.03:09:23,ab,pq,yyy,zzz,16410.3
10,a,04-NOV-14.11:09:06,cd,rs,yyy,zzz,16410.3
20,a,12-AUG-14.08:09:35,cd,rs,yyy,zzz,16410.3
10,a,16-DEC-13.08:09:26,cd,rs,yyy,zzz,16410.3
62,a,18-DEC-13.03:09:23,cd,rs,yyy,zzz,16410.3
感谢gboffi你的输入,在执行上面的脚本为所有行项目,我越来越 “elapsed_days” 为-16410.3 – VNA 2014-12-06 07:00:10
Des11,Des22,DateIn,产品,材料,Loc11,Loc22,elapsed_days 10,a,15-SEP-14.11:09:06,ab,pq,yyy,zzz,16410.3 20,a,23-SEP-14.08:09:35,ab,pq,yyy,zzz,16410.3 10 a,15-MAY-14.08:09:26,ab,pq,yyy,zzz,16410.3 62,a,17-FEB-12.03:09:23,ab,pq,yyy,zzz,16410.3 10,a ,04-NOV-14.11:09:06,cd,rs,yyy,zzz,16410.3 20,a,12-AUG-14.08:09:35,cd,rs,yyy,zzz,16410.3 10,a,16 -DEC- 13.08:09:26,cd,rs,yyy,zzz,16410.3 62,a,18-DEC-13.03:09:23,cd,rs,yyy,zzz,16410.3 – VNA 2014-12-06 07:00:53
非常感谢gboffi,它工作的很好,我已经接受了答案,并upvoted! – VNA 2014-12-06 09:11:08