分组聚合客户订单
无人售货机客户订单信息表记录着有关客户的订单信息。
从客户的角度出发,分析客户订单信息表中的数据,了解客户订单状况,按照客户订单数据进行聚合计算,对客户订单消费金额从高到低进行排序,了解哪些客户的消费金额较多,并为这些客户提供更好的服务。
数据准备
聚合客户订单数据,需要在订单信息表“order_list.csv”文件中抽取以下字段数据。
(1) customerid(客户ID):客户的唯一标识号,以该标识号聚合数据,因此客户ID不能为空,否则客户ID为空的数据将被过滤掉。
(2) customermobile(客户手机号码):客户支付费用时所使用的手机号码。
(3) ordernum(订单号):客户购买商品时生成的订单号。
(4) paytotalprice(订单实际支付金额):客户订单实际支付金额。
(5) status(订单状态):客户订单状态,只需抽取订单状态为“支付成功”的数据,而其他订单状态的数据将被过滤掉。
创建转换
(1)创建CSV文件输入组件和获取订单数据。创建CSV文件输入组件(组件命名为“CSV文件输入(订单)”),如图所示。设置参数,导入“order_list.csv”文件,并设置好字段参数。
(2)建立过滤和抽取数据组件和连接。创建过滤记录组件(组件命名为“过滤记录(客户ID非空和支付成功)”)、字段选择组件,用于筛选和抽取数据,并建立组件之间的连接,如图所示。
(3)进行字段选择,保留需要的字段,去除多余的字段。在【字段选择】组件中,设置参数,仅保留customerid、customermobile、ordernum和paytotalprice等字段,并分别改名为“客户ID”“客户手机号码”“order_num”和“pay_totalprice”,如图所示,丢弃其他与聚合客户订单无关的字段。
(4)对客户ID进行排序。因为是分组聚合客户订单,所以必须对客户ID进行排序,即同一个客户ID的数据要连在一起,否则数据可能不正确。在【排序记录】组件中,设置客户ID字段按照升序进行排序。
(5)对客户的订单数和商品实际支付金额等字段进行分组聚合,统计各个客户的订单。设置【分组】组件参数,在下图所示的【分组】对话框的【构成分组的字段】表中,设置【分组字段】为“客户ID”“客户手机号码”,即按照“客户ID”“客户手机号码”统计客户订单;在【聚合】表中,设置的参数如图所示。
(6)根据客户订单消费金额进行排序。在【排序记录(按客户销售金额排序)】组件中,设置客户消费金额字段按降序进行排序。
(7)将经过排序的各客户订单数据输出并装载至Excel文件中。在【Excel输出(客户订单)】组件中,设置参数,输出的Excel文件名为“无人售货机分组聚合客户订单.xls”,输出的字段参数设置如表所示。
运行
计算各个商品的消费金额
无人售货机客户订单的详情数据,记录着订单中的每种商品销售的数量、价格等数据。
从商品销售的角度出发,分析商品的销售数据,计算各种商品的销售金额,以便了解商品的销售情况,分析哪些商品属于热销或滞销商品,为商品的销售提供更好的运营决策。
创建转换
(1) 创建CSV文件输入组件和获取数据。创建CSV文件输入组件,组件命名为【CSV文件输入(订单)】,如图所示。设置组件参数,导入“order_details.csv”文件,并设置好字段参数,订单生成时间createdtime字段的字段类型需要设置为String。
(2)过滤掉售货机ID为空和支付失败的订单。在【过滤记录(售货机ID非空和支付成功)】组件中,设置参数,保留售货机ID非空和支付成功的订单,过滤掉售货机ID为空和支付不成功的订单.
(3)进行字段选择,保留需要的字段,去除多余的字段。在【字段选择】组件中,设置参数,仅保留productname、amount、productpaytotalprice等字段,并分别改名为“商品名称”“product_number”“product_paytotalprice”,如图所示,丢弃其他与计算各商品销售金额无关的字段。
(4)对商品名称进行排序。因为需要计算各商品的销售金额,所以必须对商品名称进行排序,在【排序记录】组件中,对商品名称字段按照升序进行排序。
(5)对购买商品数量和商品实际支付总金额等字段进行聚合计算,统计各个商品的销售金额。在【分组(按商品名称统计)】组件中,有关参数设置如图所示。
(6)根据商品销售金额进行排序。在【排序记录(按销售金额排序)】组件中,设置商品销售金额字段按照降序排序。
(7)将经过排序的各商品销售金额数据输出并装载至Excel文件中。在【Excel输出(各商品销售金额)】组件中,设置参数,输出的Excel文件名为“无人售货机各商品销售金额.xls”,输出的字段参数如表所示。
运行
品销售金额商品销售金
计算各商品销售金额
计算各商品销额