作者:逝去的爱
对于群里提问率较高的按固定格式写表格的问题,引用一个简单例子,简略说明一下自己总结的操作方法和心得。
有多张售楼情况分区统计表,要求将各分区表汇总,并根据销售套数进行排名,最终汇总输出。
分区表如下图:
汇总表样式如下图:
经过数据分析与规律总结,设计出操作流程,需要注意的有3方面问题:一、读数据;二、排名;三、写表。
整体操作流程如下图:
下面逐一罗列操作方法及注意要点。
一、 读数据
分区表表头首行为合并单元格,并不是常规的单列属性列,因此读出的数据一般是下图所示:
这种情况下,很多初接触FME的人一下子就麻爪儿了,不知道这是什么情况,更不懂接下去该怎样去处理,其实理清楚就好,这种情况读取的属性,就是把首行首个单元格拆分开,列名重复了多个而已,与常规明显表头是一个道理,只需要理清楚第几号对应的是第几列,然后将模糊列名重命名为你所需要的标准名称即。我们可以用Inspector来预览一下读进来的数据显示,总结数据规律。如下图所示,列名对应属性名称一目了然,重命名即可变为常规属性名称。
故读取步骤操作如下:
二、 排名
数据读取及规范化命名后,通过Inspector发现其中有些不是有效数据,如下图:
所以需对读进的所有表记录进行条件筛选,剔掉无效记录行或者空行。根据要求,用成交套数进行排序,以数字降序排列。用counter编号,起始为1,作为名次。
如下图所示:
三、 写表
该例重点为写。
因对写出表有格式限制,首行与读时一样是合并单元格,非常规单列列名,但格式较简单,只需将表记录属性列与输出表列号对应,并设置写出记录行号从第3行起,即可达到要求。下面用counter建行号,起始3。
写出表时按照规定表样式,引用固定模板可达到要求,所以做一个样表作为模板,并在写模块处设置相关参数,即可输出固定样式表格。
模板表引用设置如下:
写模块参数设置如下:
运行结果如下: