方案定了,框架画了,接下来就是干活。吴普同不是一个喜欢拖延的人,事情定下来就要动手。
从第二天开始,他每天下班后都坐在餐桌前,对着那台旧笔记本电脑,一点一点地搭数据库。白天在公司,他要处理各牧场的日常事务,审核配方,回复邮件,接打电话。晚上回到家,吃完饭,洗完碗,哄晴晴睡了,他才坐下来,打开那个Excel文件。
数据库的结构他已经在纸上画好了。一个总控表,五个分表,对应五个试点牧场。分表里记录各牧场的原料检测数据,总表调用这些数据,通过公式计算出推荐配方。他先把五个分表建好,把字段一个个填进去。正定分表:花生粕的蛋白、脂肪、价格;灵寿分表:菜粕的蛋白、硫苷、价格;鹿泉分表:小麦麸的纤维、能量、价格;元氏分表:棉粕的蛋白、棉酚、价格;行唐分表:玉米的水分、容重、价格。每个字段都列出来,标出单位,留出空格。他做得很细,连单元格的格式都调好了,数字保留两位小数,百分数用百分比格式。
然后是总控表。总控表要调用各分表的数据,通过公式计算出推荐配方。他先在总控表里列出现行配方的各项指标:蛋白、脂肪、纤维、能量、成本。然后设计公式。蛋白,按各原料的蛋白含量加权平均。他用了SUMPRODUCT函数,把各原料的用量和蛋白含量相乘,再除以总用量。能量,用产奶净能体系,同样用加权平均。纤维,控制在百分之十五到二十之间。成本,按各原料的价格和用量计算。
他把公式一条一条地写进去,测试了几组数据。正定分表里输入花生粕的蛋白含量,总控表自动算出推荐配方中花生粕的用量。他拿出现行的配方对比了一下,蛋白、能量、成本都接近,误差在可接受范围内。但公式还不够智能,只能根据预设的逻辑计算,不能自动调整原料比例。他想了想,加了一个“优化”功能:如果蛋白偏低,自动增加豆粕用量;如果成本偏高,自动增加辅料用量。这个功能用IF嵌套实现,虽然笨拙,但能用。
他越做越投入,常常一坐就是两三个小时,忘了时间。马雪艳有时候过来看看,给他倒杯水,也不打扰。晴晴有时候跑过来,趴在桌边,看他敲键盘。
“爸爸,你在干什么?”她问。
“做一个很厉害的东西。”他头也不抬。
“什么很厉害的东西?”
“让牛吃得更好的东西。”
晴晴想了想,点点头,跑回去玩积木了。
马雪艳站在旁边,看着屏幕上那些密密麻麻的表格和公式,忍不住说:“你天天搞到十一二点,别太累了。”
“没事。”他说,“快了,框架快搭完了。”
“你每次都这么说。”她叹了口气,“上次说试点完了就轻松了,结果又搞什么系统。搞完系统是不是又要搞别的?”
他抬起头,看着她。“这个弄完了,以后就能省不少事。各牧场自己录入数据,系统自动生成配方,我就不用天天盯着了。”
“那你现在不也在盯着?”
“现在是没办法。”他说,“等系统上线了就好了。”
她摇摇头,没再说什么,去厨房给他热了一杯牛奶,放在桌上。“喝了早点睡。”
“嗯。”
他喝了牛奶,又干了一会儿。公式调试了好几遍,总有个别地方不对。蛋白算出来总是偏高,能量算出来总是偏低。他反复检查,发现是权重设置错了。玉米的能量值高,用量大,但在能量公式里权重不够。他调整了系数,重新计算,这回对了。