00:00
好,那我们继续看下一个需求,各地区订单统计啊,来看一下它的具体要求是什么啊,要求我们统计各省份的订单总数和订单总金额啊,这个需求相对简单,没什么需要解释了,对吧?啊,那接下来我们就直接看一下它的建表语句,看一下具体的字段是什么啊,先看第一个DT统计日期,这个不用解释啊好,第二个字段recent days,这就是最近N天啊,同样的是一七三十啊,那当然这个字段的含义就是让我们去统计最近一天,最近七天以及最近30天内的各省份的订单总数和订单总金额,那我们继续往下看啊,那这几个字段呢,实际上都是与地区相关的维度信息啊,里边包括了province ID,省份ID对吧?Pro name,省份名称,那下边呢,有三个编码啊,那这三个编码都是地区编码啊,那这个艾瑞code的呢,指的是我们国内通用的地区编码啊,那下边的两个ISO code,诶,指的是国际上通用的两个编码啊,它俩的标准。
01:00
准是不一样的,那这三个地区编码呢,都可以唯一的去表示一个省份,这个大家搞清楚啊,好,那接下来继续往下看啊,下边两个字段才是我们真正要统计的值啊,那分别就是订单数和订单金额,OK,那这就是各地区订单统计这个需求的说明,那接下来我们把这个需求分析一下啊,实际上这个需求呢,让我们统计的就是各省份啊,在最近一天,最近七天以及最近30天内的订单总数和订单总金额。没错吧?啊,那DWT层的地区主题表当中存储的是不是就是每个省份在最近一天,最近七天以及最近30天内的各种累计值啊,没错吧,那当然这些累计值当中就包括了咱们这儿要求的订单数和订单金额,那所以说这个需求呢,我们可以直接从DWT层拿结果啊,咱就不需要再做额外的计算了,那拿到这两个值的统计结果之后呢?那咱是不是再去获取一下地区的这些维度属性就可以了,OK,那这个需求的实现思路呢,就是这样的啊,那接下来呢,我们去写一下circleq啊,那现在我们先去获取一下这两个统计值啊,那他们俩是不是可以直接从DWT层的地区主题表里拿到啊,对吧?啊,好,那现在我们去拿一下,那首先我们select,然后呢,From应该是DWT层的地区主体表对吧?哎,Area topic啊,没错吧,那当然在这儿呢,我们也需要获取它最近一天的分区V尔DT等于2020杠零六杠幺四,没错吧?那在这儿呢,我们需要分别去。
02:29
获取它的最近一期30天内的下单次数和下单金额,对吧?那所以在这儿呢,我们仍然需要使用let review ex perl explode这样的一个操作,对吧?来,来一个array,里边放上一,放上七,放上30,那后边TP as,然后recent this。好,那现在呢,数据就已经扩张为三份了啊,那接下来我们就可以根据recent this的值,使用kiss问啊去分别获取它的最近一期30天的累计值了,对吧?那现在我们获取一下啊,我们先把recent this次字段选出来,然后呢再把pronce ID选出来,那接下来呢,就可以使用k one去获取累计值了,对吧?来case下面呢,先写一个N的啊,那里边呢,就可以问问什么问re desk等于一诶,那我就获取谁,咱先获取这个订单数啊,那也就是最近一天的订单数对吧?那也就是order last ED count,没错吧,那肯德D肯D把一改成七和30,咱们改一下啊,那这个改成七,那下边的一呢改成三十来30啊好了,现在我们就拿到了订单数了,对吧?起个编名叫做older count啊,那接下来呢,我们再去获取订单金额来啊,TRLC啊,这边呢,CTRLV啊,我们再把这个count改成amount就可以了,来走,那当然还是改成final对吧。
03:47
LA。好了,那下边的别名也要改一下,改成amount a mon啊,OK,那现在我们就已经拿到了每个省份在最近一期30天内的下单次数和下单金额了啊好,那接下来呢,我们再去地区维度表当中获取我们所需的这些维度信息是不是就可以了?来,那我们去获取一下啊来,往下走,Select from。
04:12
应该是demoam,呃,Province,对吧,Diam base province,没错吧?那这张表呢,咱们没有分区对不对?所以在这儿呢,直接选择就可以了,在这儿呢,我们需要拿到他的ID啊,需要拿的,呃,它的province name啊,需要拿到area code,对吧,还需要两个ISO code。哎,往下走ISO啊,3160杠二啊,好了,那这样一来的话呢,我们就也已经拿到了地区的维度信息了啊,那接下来我们要做的事就简单了,是不是把它俩撞到一起,完事之后就能得到我们所需的最终结果了呀,对吧?那现在我们先分别给它们起一个别名,来CTRLX放括号里,那这个给它起名为T1就可以啊,来T1。那下面呢,起起名为T2啊。往前推一下。那这个呢,是T2啊,好,那现在给他俩做一个join,在这呢,我们直接用inner join就可以啊,来一个连接条件,On t一点pro VC province ID等于T2.id是不是就可以了啊?好,那现在我们就可以从中选择最终的结果了,来select一下啊。
05:16
来from,首先第一个字段是什么?看一下第一个是DT对吧?那在这呢,我们写常量值就可以,2020杠零六杠幺四,那接下来我们继续,下一个呢,是不是recent this啊,拿过来,那再往下呢,是province ID啊,拿过来,那再往下呢是vince name,那再往下是area code啊,继续啊,那下一个呢,是ISO code啊,再往下呢是ISO316杠二啊,那接下来继续往下走,还有一个是older count啊,最后一个order amount啊好,那现在我们就已经得到咱所需的最终结果了,那最后呢,我们再给它insert一下就可以了啊,来,Insert order right table啊,应该是ADS层的order by province对吧?啊,后边再来一个select星啊,From ADS o啊,By province,后边再来一个union就完事了啊,OK,那这个需求我们就完成了。
我来说两句