基于FineBI的农产品产销数据的可视化研究
作者: 胡世洋 刘威
关键词:农产品;可视化;商业智能;数据库;FineBI
1 引言
随着信息技术的快速发展,推进信息化技术与农业生产、农业产业化的深度融合,已经是大势所趋[1]。我国农业问题也朝着数据化、智能化的方向发展[2]。农业问题的信息化需要将农业相关的数据采集至服务器端,再对这些数据的价值进行深度挖掘,从而为决策找到数据依据。数据价值的挖掘是一个复杂的问题,如何从庞杂的数据中快速提取有效的信息,是数据研究的重要目标,数据可视化为我们挖掘农业数据价值提供了新的工具[3]。本文以农产品的生产和销售的数据为研究对象通过使用可视化分析的方法来研究农产品产销数据背后的信息内涵。
2 问题的概述
本文的主要研究对象是农产品的生产和销售的数据,数据源于“微农”信息服务平台的数据采集以及部分网络数据的整合。它主要是研究广西壮族自治区各地区农作物、农产品、商家、顾客、商品销售、商品求购、商品流向等相关数据,从而总体上把握本地区农产品的销售情况,尤其是对遭受自然灾害地区、贫困地区的农产品、滞销严重的农产品的销量有重点体现。还需要对农产品的地理分布、价格趋势、产能、销量、消费群体,受众顾客的消费行为等进行分析,从而找到规律和特征,从而为农业信息决策提供支撑。
3 可视化工具的选择
常用的数据可视化工具有Excel、FineBI、Tableau、PowerBI、CiteSpace等。Excel是Microsoft公司旗下的一款表格软件,Excel提供的数据图表可以多层次展现数据内容。FineBI 是帆软软件有限公司推出的一款商业智能产品。它是新一代大数据分析的BI 工具,旨在帮助企业的业务人员充分了解和利用他们的数据[4]。Tableau是基于斯坦福大学突破性技术的软件应用程序。它帮助用户分析实际存在的任何结构化数据。PowerBI是Microsoft公司旗下的一款商业智能软件,它可以将复杂的数据简化为简洁的视图。CiteSpace是一款着眼于分析科学分析中蕴含的潜在知识,是在科学计量学、数据可视化背景下逐渐发展起来的引文可视化分析软件[5]。经过对比分析,本文采用FineBI 可视化工具进行数据分析。因为FineBI 拥有强大的大数据引擎,且拥有庞大的用户群体。
4 数据的准备
农产品的生产和销售的数据存放在MySQL数据库当中。FineBI需要从MySQL数据库读取并处理数据。Fine BI在管理数据时使用分组和业务包的方式来划分不同来源的数据,所以需要新建一个分组和业务包为后面的数据连接做好准备。FineBI中的数据类别又可以分成实时数据和抽取数据。如果选择实时数据类别,Fine BI将直接访问数据库中的数据,此时数据分析速度会变慢。如果选择抽取数据类别,Fine BI会将数据库中的数据存取一份到Fine BI磁盘中,此时数据分析速度会更快。这里采用实时数据和抽取数据相结合的方式,对于实时性要求不高的操作,选用抽取数据类别来提高效率。对于实时性要求高的操作,如用户交互操作等,则选用实时数据方式,从而与原始数据保持一致。在FineBI的“数据连接”的配置项里面配置数据库驱动、数据库名称、端口、用户名和密码等内容,如果该连接经测试成功之后,它的连接的配置会被保存到FineBI之中。数据连接建立后就可以在“业务包”里面添加数据表。数据表可以是MySQL的直接数据表,也可以是基于MySQL数据表的SQL数据集,也可以是自定义的自助数据集。如果仪表盘需要有交互操作,它的数据表应是自助数据集表。
由于初始数据常常是杂乱的、不完备的,噪声和误差不可避免,因此需要将初始数据进清洗处理。此处采用Python程序和自定义的PROCEDURE程序相结合来完成数据的清洗。数据清洗之后需要及时与FineBI的数据表进行同步。由于有的数据在数据的海洋里隐藏颇深,所以需要将数据进行变换和特征提取等处理。这些工作完毕之后才可以使用可视化工具来映射和展现。为了进一步突然数据的个性化展示,还需要提供用户交互的功能,使用户在多层次感知数据的同时获取有价值的信息[6]。
5 可视化分析的过程
数据的可视化分析需要有清晰的分析脉络,如果以用户的视角来划分,农产品的生产和销售数据的可视化分析可以从管理员视角、商家视角和顾客视角对数据进行不同维度和层次的分析和透视。
5.1 以管理员为视角的数据分析
管理员角度看到的数据应该是全局性的,关乎决策的数据信息。这种数据涉及范围是整个数据库里的内容。对这种数据的分析应该是粗粒度的、宏观的分析,个别数据的变动不应对整个的数据分析有决定性影响。下面通过以下几个方面对数据进行分析。
1)农产品销售流向分析
农产品流向分析图是分析某一地区的某一种农产品的销售方向。通过对农产品流向图的分析可以使管理员整体上把握农产品的现有销售情况,在市场宏观调控时这些信息具有较高的借鉴价值。此处选用FineBI中图表类型中的流向图来解决这个问题。FineBI中的流向图需要提供路线和标识从而来明确农产品的来源地和目的地,然而从现有的农产品销售数据表中并没有路线和标识的确切信息,所以在展示流向图时就需要采用PROCEDURE对原数据进行二次加工。首先我们将顾客、农产品和销售这三个表进行联表查询,将查到的商品名称、商品地址、顾客地址和销售金额存放在一个视图里面。其次,遍历这个视图,将视图中商品地址作为流出地,顾客地址作为流入地。流出地和流入地的结合则形成流向路线。流出地的记录中的“标识”被定义为0,与流向路线一起插到新表当中。同样流入地的记录中的“标识”被定义为1,与流向路线一起插到新表当中。二次加工完毕,我们可以将新表导入FineBI的数据列表当中。在FineBI 中创建新仪表盘,将数据来源选定刚才的新表,将维度区域中的“地区”设置成地理角色(区县),选定图表类型为流向地图,拖动“经度”到横轴,拖动“纬度”到纵轴,将指标区域中的标识拖动到连线的位置。此时流向图基本形成,但是内容过于繁杂,如果需要分析某一地区的某一种农产品的销售方向,就需要将“路线”和“名称”拖动到“结果过滤器”当中,并进行过滤设置。如果把“路线”拖动到“颜色”,把“交易额”拖动到“大小”,还可以清晰看到销往不同区域的交易量。此处我们以“万秀区”的八角为例,可以明显看到这种农产品销往了灌阳、兴安、荔浦等地,如图1 所示。
2)销售额随时间变动分析
销售额随时间变动图反映的是某一个时间段求和后的销售交易金额随时间浮动情况。该图可以使管理员能够洞悉某段时间内农产品市场的活跃程度,从而为宏观市场决策提供数据支撑。在数据列表中选择自助数据集中的“农产品销售详情表”作为数据来源并创建组件,选定图表类型为折线图,将交易时间和交易金额分别拖动至横轴和纵轴。可以在交易时间字段选择具体的某一个时间段进行显示。为了突出浮动效果,在“交易金额”字段上选择“设置值轴”,在“设置值轴”窗口中自定义显示范围。在“交易金额”字段上选择“设置警戒线”,选择“横向警戒线”,并且添加均值警戒线。在此处我们以八月份的交易情况为例,我们可以得知在8月上旬交易行情颇为活跃,但是到了8月中旬和下旬交易额略有下降。说明随着季节的替换,一部分的农产品逐渐退出市场,如图2所示。
3)求购排名前10的产品词云分析
求购排名前10的产品词云图反映的是顾客求购数量最多的农产品。该图可以让管理员知悉哪些农产品是顾客潜在需要的,为以后有效满足供应提供数据支撑。在数据列表中选择自助数据集中的“求购表”作为数据来源并创建组件,选定图表类型为词云。为了突出农产品种类的差异,将“求购商品”也拖动至“颜色”。为了突出农产品的求购数额差异,将指标窗口中的“需要数量”拖动至“大小”。最后把这两个字段也都分别拖入到“标签”和“提示”。由此可以得知八角、油茶、茶叶、茶油等农产品有较强的市场潜力,如图3所示。
4)销售量前10的农产品分析
销售量前10的农产品气泡图反映的是所有农产品中最受欢迎的农产品。该图可以让管理员知悉某段时间内哪些农产品在农产品市场里活跃度较高,为以后有效满足供应提供数据支撑。在数据列表中选择自助数据集中的“农产品销售详情表”作为数据来源并创建组件,选定图表类型为聚合气泡图。为了突出农产品种类的差异,将“农产品名称”也拖动至“颜色”。为了突出农产品的销售额差异,将指标窗口中的“农产品日销量”拖动至“大小”。最后把这两个字段也都分别拖至“标签”“提示”。针对“农产品名称”字段设置过滤,过滤的条件是“农产品日销量”为前十的农产品,由此可以得知甘蔗、香猪、柚子等10个农产品在销售市上的份额较高,说明这些农产品在这一阶段较为受欢迎,如图4所示。
5)原生态产品在农产品中的比重分析
原生农产品在农产品中的比重图反映的是无须二次加工的原生农产品与二次加工后的农产品之间的比值。该图可以让管理员知悉某段时间内我区农产品加工水平的高低,为以后的宏观调控提供数据支撑。现在数据都无法直接支持原生农产品在农产品中的比重的可视化,因此需要对数据进行二次加工。首先,依托“农作物信息表”设计一个关于全部农产品的产量视图。其次,依托“农作物信息表”设计一个关于原生农产品的产量视图。再次,将这两个视图按照左连接的方式连接起来,这样连接后的视图必然会使加工过的农产品记表中的“农作物”字段为空值。最后,我们可以将新视图导入FineBI的数据列表当中。在FineBI中新建仪表盘,将数据来源选定刚才的新视图,选定图表类型为饼图。将“农作物”字段分别拖动至“颜色”“角度”“标签”。对“农作物”字段进行分组,这一字段为空值的记录划归“二次加工产品”组。相反该字段不为空的记录划归“原生农产品”组。这样饼图就生成成功了,如图5所示。
6)面向管理员的地图和地理信息分析
地图和地理信息分析主要包括受灾农产品地图分析、滞销产品的地理分布分析、各市存货量分析、贫困户农产品分布分析、各市销售额分析等。选定数据来源之后,需在仪表盘选定图表类型为区域地图,将代表地理位置的字段转换成地理角色,拖动“经度”到横轴,拖动“纬度”到纵轴。再将需要分析的主题字段拖动至“结果过滤器”,其他相关字段拖动至“颜色”和“标签”里进行显示。值得注意的是,有的分析主题需要特征提取才可以。比如判断某个农产品是否滞销,将“存货量”和“总产量”的比值作为农产品是否滞销的重要数据参考。如果这个比例太高说明大概率存在滞销的情况,反之说明很畅销。由于篇幅所限,此处仅以受灾农产品地图为例,阐述受灾农产品地理分布情况。
受灾农产品地图反映的是受灾地区农产品的储备情况。该图可以让管理员知悉某段时间内哪片受灾区域的农产品存在潜在滞销的问题,为将来可能的政策倾斜提供数据支撑。在数据列表中选择自助数据集中的“农产品销售详情表”作为数据来源并创建组件,选定图表类型为区域地图,将维度区域中的“农产品所在县”设置成地理角色(城市),拖动“经度”到横轴,拖动“纬度”到纵轴。将维度区域中的“农产品是否灾区产品”拖动至“结果过滤器”,添加过滤选项并设置“农产品是否灾区产品”的值为“是”。把维度列表中的“农产品所在县”以及指标窗口中的“农产品存货量”拖动至“标签”。为了突出存货量的数额差异,将“农产品存货量”也拖动至“颜色”。由此我们可以得知平南县的花生、防城区的肉桂、平乐县的沙田柚可能会因灾滞销,需要在未来的市场调控予以倾斜,如图6所示。
5.2 以商家为视角的数据分析
商家视角关注到的数据应该是与本商家所拥有产品相关的农产品信息,这些数据应是局部的,可选择的,具有实时性特点的。对这种数据的分析应该是细粒度的,微观的分析,分析的目的是为经营决策提供支撑,下面通过以下几个方面对数据进行分析。
1)实时数据集的创建
如果站在卖家的视角来分析数据的话,卖家可能对全局性的数据兴趣不大,而对自己所售的农产品或其他相关的农产品兴趣较大。因此这样的数据可视化仪表应有过滤功能。因此我们在FineBI的“数据准备”中将抽取数据列表切换为实时数据列表,将DB数据库表再添加进实时数据列表当中。
2)农产品的价格曲线分析
农产品的价格曲线图反映的是某一种农产品在一段时间内的价格波动情况。该图可以让卖家对农产品的价格走势有成熟的理解,从而制订符合季节特征的产品价格从而获取最大的利润。