00:00
那好了各位啊,那接下来我们再来看一下这个所谓的交易综合统计,这个其实非常的简单的啊,相当于是一个白送的需求对吧?来那咱们看一下这个到底如何实现,呃,首先先回忆一下啊,他这儿我们统计的是什么?是最近一期三十日的对吧?然后呢,一个总的订单总额,总的订单总数,总的订单人数对吧?还有一个最近一三是的总的退单数和总的退单人数没问题吧?好,这是我们要算的指标啊好,那现在我们再回过这个建表语句这边来啊OK,那咱们还是先简化一下,暂时不考虑七,呃七和30,咱们只算一个最近一天对吧?那完之后咱们就来分析分析,怎么去算最近一天的这几个值呢?怎么算还是分析啥,还是得先分析从哪张表里拿数对不对,从哪张表里拿数是不是还是取决于它对应的是哪个业务过程啊对不对?好,那前面这仨不用多说,肯定对应的是下单的业务过程,那下面那个呢,是不是对应的肯定是退单的业务过程啊,对不对?那首先我们就得分析分析下单这三个咱们怎么求,那从哪张本里取出了,正常情况下是不是还是得从DWS层先去找下单的这张表的一个汇总表啊,对吧?好,那现在咱们去找一找啊,来还是找下单相关的汇总表,下单相关的汇总表其实是最多的,来咱们找一下啊,好,先找到交易日,这是所有的交易域,没问题吧,找到下单的,这个是下单的,那这个呢也是下单的,那再往下走,这个呢,它也是诶下单的,那没问题,那再往下呢,这个也是下单,那再往下这个它也是下单。
01:35
好,那现在来分析分析对不对,这么多的表,我到底用谁,对不对,我用谁,我能把这几个值给它求出来。嗯,对吧,首先order to amount是什么来着,是最近一天的的下单金额,对不对,OK,好,那这个咱们怎么算啊,Order com呢,是总的下的次数,这个到底怎么去看用谁呀,到底咱们随便挑一个吧,比如说举例子啊,咱们用这个能不能算出来?
02:01
这个是什么力度,这个是那个什么活动力度的,对吧,那这个能不能算出来。这个其实应该算不出来,为啥?因为咱们稍微回忆一下,之前我们在往这张表里装载数据的时候,我们只往里边汇总了什么样的订单,只汇总了那些是不是参与活动的订单呀,就没参与活动的咱是不是没统计,你没统计,那这是不是没法算呀,对吧?所以这个肯定不行,而且这个只有ND的,他也没有最近一天的统计值,对吧?所以这个咱们直接pass掉了,好接着往下走,下边这。省份力度的,这个省份力度统计的什么来着,是每个省在最近一天的什么下单总额,还有下单的这个总总次数,对不对,这个是没有问题的,对吧?好,那完了之后他能不能算出来我们这些值。诶,算这个能不能算,这个应该能算,你把每个省的下单金额加一起不就是总额吗?对吧?每个省的这个订单总数加一起,不就是总的订单总数吗?这个没问题吧?好,那订单人数呢,这个算不了,因为我们这儿并没有去统计每个省的下单人数,所以这个咱算不了啊OK,好,那接下来继续往下走,那这个能不能算,这是一个用户力度的对吧?好,那他能不能把咱这几个值算出来。
03:06
好,应该能吧,对吧,我把这是用户力度里边应该记录的是每个人在这一天里边的下单的总次数,总件数,总金额,对不对?好,你把每个人的下单金额加一起,是不是就是总的订单金额,对吧?那没问题吧,好,每个人的下单次数加一起是不是就是总的订单次数,对不对?那再往下走,下单人数呢,人数,因为我力度是什么力度是用户力度,那我能不能算人数,能这个是可以的,对吧?所以说那从这张表里我去出列仨值都能出来,OK,好,那继续往下看,那我们看这个用户,呃一呃,这个O,这是一个历史资金呢,咱们不考虑,咱们考虑下边这个。用户商品力度的,大家说我能不能把这几个值求出来。这个想都不用想,肯定能,为什么呢?你想啊,这个user SKU这样的一个力度的汇总表,它是不是应该是小于它的力度,应该是小于谁的小于用户力度,对吧?那我用户力度我都能把它求出来,那我力度比你小,我是不是更能算出来了,对不对,那肯定是可以的,但是呢,呃,咱们这俩应该肯定得选谁,我肯定得选用户力度,因为用户力度数据量是不是要比用户商品力度数据量要要小啊,对吧?所以咱们最终定下来的,在这儿我们就用用户力度的这张汇总表,OK啊好,那接下来咱们继续往下进行,下边我们来看一下这个数据状载具体怎么写啊,这个小参考暂时我们先只算一个最近一天的啊,数据状载来我们select之后呢,应该是DWS层的这个哪张表啊,诶交易域的T交易域,然后是用户力度O,然后呢,来一个ED,先来个ED啊,由于只算最近一天,所以说我们只来一个分区,零六杠幺四,把这个分区拿出来,那之后呢。
04:49
之后还用不用再分组,不用了,我们应该是直接对每个人的是不是下单的统计进行求和就行了,对不对?好,那所以说不用分组来直接进行求和就完事了,那首先先是older total amount,是不是直接some求和对吧?我们找到older是不是total amount ED啊对吧?注意这个older to amount ED在这张表里指的是什么来着,是每个人的是不是下单金往下对吧?好,那每个人的加一起就是总的好求出来了,接下来继续往下,下边呢,下边是该那个old count来对吧?这个是不是同样的道理,我们把每个人在这一天里边的O德count加一起,那就是总的对吧,很简单,最后一个该这个人数了,人数怎么统计,人数能不能直接来一个count星能不能可以对吧,为啥很简单,因为只要一个人出现在咱们这张表的这个分区里边了,就一定能代表这个人,他在这一天他是下过单嘛,对不对,因为咱们是根据下单记录聚合来的嘛,对吧,那所以这个肯定是没问题的啊好了,直接看在芯那就OK了,诶就OK了,而而而且什么呢?咱力度是优的力度嘛,对吧,一一行。
05:49
就是一个用户,所以看的清就是人数行了,最近一天了,那咱就搞定了,哎这个其实并不难啊,好,那他完成之后,我们继续往下走,咱们来分析分析这个。这个退单的,这个退单的咱应该怎么算呀,退单的其实不用分析了,你看我下边这儿是不是就也有一个用户力度的这样的一个退单的汇总表啊,对不对,所以说我其实只需要基于这个是不是稍微的改一改就行,对吧?CTR为拿过来,然后呢,咱们把这个退呃退单这个订单改成是不是退单对不对?完了之后呢,上边咱们把所有的下单的相关内容都换成退单的是不是就完事了,对吧?来,但是这个退单这边我们呃其实要比下单是不是少算了一个字段呀,这不他只让算了退单数,退单人数,这个金额是不是不用算,金额不用算,咱就给它去掉就行了,好,那现在我们把这个拿过来应该是改成是不是order refund count ED,那就完事了,对吧?哎,这是退单的次数,这是退单的总人数,好了,说完了,哎,非常简单啊,行了,接下来我们继续往下走,各位同学,咱们下边需要算的是什么?下边是不是得算一下最近七天的这些指标,还有最近30天的这些指标啊,对吧?好,那现在咱们还是先分开求我们先看下单的啊。
07:00
我给他一个标注O,然后下边呢,我们看一下它的7D和30怎么算啊,1D的咱已经搞定了,哎,接下来往下走,我们先看一下这个7D的,哎,然后呢,再去看这个30D的啊来先看7D,这个7D怎么算,这个7D我们要算的什么来着,是最近七天内的是不是这个总的这个订单金额,总的订单次数和总的订单人数啊对吧?这应该怎么算呀?那同理,我从这张表里拿七个分区,这个值也能算出来,对吧?但是咱肯定不能那么干啊,我们是不是应该还是找ND啊对吧?来我们找到S星from dws应该是交易域的,应该是用户力度的O是不是ND这张表对吧?诶,拿错了or DR,然后是ND好拿到它拿了之后,我们是不是也是只需要拿一个分区就够了呀,对吧,那这一个分区里边存储的是什么?存储的是在最近七天里边每个用户他的下单的次数,下单的件数,下单金额,还有最近30天内每个用户的下单次。
08:00
次数价和金额对吧?好,那我们现在应该怎么办呢?得把每个人在最近七天里边的下单金额,哎,下单次数是不是进行一个求和呀,对吧?OK,好,那所以在这呢,我们就直接进行是不是三求和就行了,对吧?其实跟上面这个是不是有点类似啊,对不对,只不过里边的字段咱们要调整一下这块这个一咱得改成啥七对吧?那每个人的最近七天再加一起就是最近七天内的一个总和啊,那这个同样的道理,好,那关键是这个人数。这个人数怎么处理,人数能不能还直接看他性。这个说实话就不行了,哎,为啥不行呢?还是这个原因,因为这个人出现在这个表当中的这个分居不能代表他在最近七天里边就是下过单的,对吧?那所以说在这儿还是得有条件的count嘛,对吧,我们得来一个count if才对,对吧,应该怎么算呢?应该是o count7D,它得大于零,它才是真正的在最近七天内的一个下载用户,那完之后呢,我们就记一个谁,呃,这个当然你用的是count啊,这边你其实你看的你这边怎么写,你写一行不行。
09:00
行不行,行对不对,那其实你这个就是说满足条件,我这抗的什么,这个不重要,对不对,你写一个一对不对,OK,我一行是不是也算一个数对不对,我写一个二,我这一行是不是还是算一个数啊,对吧,你就甭管写几,我看的始终算的是什么来着,是行,只要你这一个值它不是空,我是不是就算一行啊对吧,这样所以说你这写一个任意的一个非空的值都可以,对不对,但是你后边这就得讲究一下了,这你要不想算只能写啥,只能写闹,对吧,这是大家需要去特别注意的啊行了,各位同学,那截止到现在这个七粒的就算完了,七七粒算完之后我们再来看30例,30例大家说怎么算。怎么算很简单,我们是不是找到这张表,我把所有的七我统我通我统一的都给它改成啥呢?改成30,这个是不是肯定是没有问题的对吧?那所以说七和30就这么写就完事了,OK啊好,那接下来我们继续往下思考,各位同学,你说这个七跟30咱们要这么写完了之后,呃,我是不是也是可以合并一下了呀,对不对,咱们现在这个我就不再手写了啊,咱们分析分析看它怎么合并就完事了,你说这个应该咋合并,他们的这个区别和联系是什么?首先先说联系,联系是不是又是在对同样的一个表,同样的一个分区进行聚合呀,对不对?行,是不是又是相同的,对吧?那还有什么是相同的,聚合的函数是完全一样的对吧?OK,那不同的点在哪呢?是不是还是在它聚合的那个字段是不一样的,对吧?所以这块咱们又得怎么吧,是不是先拿两份数据,然后呢,用那个K4ONE是不是去选择不同的纸啊对吧?哎,上面这个我们拿7D的这边我拿这个30了对不对,之后呢,我再给他签。
10:39
到一个查询,按照recent date是不是进行一个分组的聚合,那就完事了,对吧,还是这么去做好,那这个我就不再写了啊,一会儿看一下文档当中的最终答案就行了,行,那下单的咱们这么处理,你说退单是不是也应该这么处理啊,对不对?所以这块咱们就都不用再手写了,我们直接看一下最终的结果来,咱们给他拿出来啊。往下翻来CTRLC拿过来好,那现在呢,我们把这个刚刚所写的内容全部都给它覆盖掉,CTRL,好,那现在看一下我们文档当中的这个最终的结果啊来,我们还是先把它收一下,收一下啊走诶这个收起来,这个也收起来好,这是我们这个circle的一个完整的结构,大家来看一下,呃下呢,诶,其实对应的就是我们这个下单相关的统计,对吧?这个是不是对应的是退单相关的统计啊对不对?那下单这边呢,Union前边算的就是ED的,跟刚才咱们写的是一样的,对吧?那下边呢,这一堆是不是就是咱们那个ND的,是不是跟刚才我们所描述的是一样的,对不对,这个我们就不再一点点说了,其实做了很多遍了,咱节省一点时间行,然后铺一单子呢,其实也是这么写的,我就不再展开了啊,行,那这个需求咱们就完事儿了,来视频我停一下啊。
我来说两句