00:00
开始吧,呃,那这个主体的更新思路跟前面那个主题一样,还是新旧进行对比对吧?所以我们先得把这个旧的数据拿出来,也就是这张表呗,啊,那就是呃,DWT层的,哎,UV,诶,Topic啊,Topic,那咱们这起个别名叫O啊,好,我先给它注释料。完了之后呢,我们看一看啊,更新这张表里的这几个字段,我们所需要的这个数据应该是什么啊,我要想更新每个设备的首次活跃和末测活跃,那我只需要知道什么,只需要拿到啥呀,就是今天。谁活跃的是不是就行。那想获取这个当日活跃次数,诶这个其实是不是也是只要知道今天谁活跃了,然后知道他今天的活跃次数是多少就行了,直接给他拿过来是不是就可以啊,是这样的,然后这个累积的呢,累积的是不是咱们也是只要知道知道啥,知道今天谁活跃了就行啊。对不对,所以说这个相对来说比较简单,我们只需要拿当天的就行,对吧,我们不需要拿最近30天的,因为它没有那个字段嘛,那它比较容易啊,那接下来咱们拿这个今天的啊,That,也就是我们只需要知道我们今天哪个设备活跃了,然后呢,然后呢,他今天活跃的次数是多少,是不是就可以了呀?啊那这个咱们求没求出来。
01:20
已经求出来了吧,咱们在DWS层算的是不是就是这个咱们已经知道了哪个设备,那今天它的活跃次数是多少,是不是已经知道了呀,那所以直接从这里边选我们所需字段就行啊,那select让肯定是DWS层的UV detail对抗,然后呢,我们来一个过滤啊,V2DT等于2020杠零六杠幺几啊,幺四啊幺四啊,那上边选择我们所需的字段,第一个midd,第二一个呢是哎这个brand啊,然后呢,下边一个model,一个是品牌,一个型号,然后呢,把这个login in count是不是拿过来就行了,诶,这就是我们一个new。
02:02
啊,接下来呢,就是这个新和旧进行一个对比,那下边呢,我们先给它放在一个括号里啊,给它起一个别名。CTRLV啊,这边往前推一下啊,起别名叫做new啊好,那现在old呢跟new需要做一个是不是也是全外联啊,副auto draw for,然后呢,我们后边来一个on on什么呀,On o的点把这个midd啊,然后呢下文线midd等于六点啊midd啊然后呢下划线啊ID,那其实这个照影条件咱们是不是用他们仨照,或者用它一个字段照是不是都是一样的呀,对不对?所以咱这就先写一个吧啊先一个,然后现在呢,我们select from啊,Select啊from。来开始选了啊,一个字段一个字段的选啊,那上边咱们这怎么处理啊。嗯,是不是还是新旧,是不是新旧还是这样的一个对应关系啊对吧,那所以说我们选择前三个字段的时候,这三还得怎么办,是不是还是得用NVL去判断呀,对不对,还是NVL啊,那所以这样的直接NVL哎去选就可以NVL。
03:08
啊,你看这个思路其实都一样啊,那先写new点啊mid啊,然后逗号嗯啥呀,哎,O点啊mid呗啊然后呢,CTRLDCTRLD,咱把这里边的字段呢给改一下啊,这个呢需要改成呃第二个字段应该是啊吧,嗯,那下边呢,我们看按一下下啊。诶,这个没对上啊,呃,Out shift咱们点一下就行,这改一个。这个不能要把这个把它改一下,好,那这个改成model mod,诶好,那这个新旧选完了,选完之后咱们选下一个啊,下个该谁了,该这个首次的活跃时间了,首次活跃时间怎么处理啊。这个咋处理啊,是不是跟刚才那个还是一样的处理方式啊,对不对啊,那这边咱们怎么去做,是不是old的啊,这是new啊在这怎么做呀,是不是就是只要是old的点。
04:10
M mid为now,那它首次登录时间是不是就是今天呀,对不对,当然这个咱们说了这样去做的话肯定是不准确的,因为咱们这这个old是不是没有做初始化呀,对不对,你要想到准确一下一点应该怎么办呀,是不是双重判断啊,啊怎么说判断,如果咱们启动日志当中有那个首日的字段,那你这应该怎么办啊,是不应该是这样去做,来认真听怎么做。怎么做呀,应该是old.mid哎,等于no,然后呢,并且也就是and and什么呀,And new里边的咱们那个首日标记。啊为处是不是咱们才哎给它设成今天的日期啊啊对不对啊是这样的啊,那所以这块呢,我们大家呃,因为没有我一个字段,那所以说咱们就只能是呃就是不加它了啊,就是按照这个是O里边有没有它啊,就只能是这么去判断了啊那这个肯定是不太准确的啊来吧,那咱们就这么写吧,来那也就是说这块呢,我需要去哎做一个判断也是if。
05:10
啊,If什么呀,If o的点mid啊,Is no啊,如果1NO,那就是2020杠零几零六杠114啊,那否则的话呢。否则的话,我就保留咱们原来那个值位啊,那就哎old点啊,这个login date啊,这个first。First,那就这么选,当然这个呢,是不是咱们也是能够换成NVL去做的呀,对吧?但所以咱们给它改一下啊,CTRLX把这个删掉,那前面呢,给它替换一下就行,CTRLV这个改成NVLNL好,那这个改成它啊好了,那这个决定完事之后呢,咱们再接着往下走啊,该这个末次登录日期了,对吧,末次登录日期那咱们是不是也是一样的道理啊,怎么这个怎么O,这是new对不对,这个怎么整。
06:03
是不是这部分改成最新的啊一天的日期,然后上面呢,保留啊原来的值吧啊那所以这应该怎么办?是不是就直接是啊先用if吧啊先用if啊if if啊如果new点啊mid is no对吧,那咱们谁用old.login data last吧啊不为now的话呢,不为now,那是不是就用用用用啥用咱们当天日期嘛,2020杠零几零六杠幺。幺四啊,那这个咱们能不能呃改成ML呢。啊,能不能赶上NVR啊。可不可以?咱这个写的对不对,看一下啊,这是old啊,这是new对不对,莫似登日期是不是只改咱们这部分,那这部分跟上面这部分的区别就是啊,New是否为no对吧?New为no,那我就相当于是这部分,这部分我用原来的值new不为no不为NO06杠幺四是不是这部分的值,这个没问题,首先那这个能转NV吗?
07:12
能不能转?呃,转不转无所谓啊,转不转无所谓,咱们就就用衣服吧,啊这个逻辑是没错的啊好,那咱们往下走啊,那这个玩意之后呢,再往下看下边该谁了,该这个当日的活跃次数了,对不对,当日活跃次数这个相对来说比较简单吧,啊这个不用计算吧,因为就是当日当日直接从new里边拿是不就行啊,直接new里边拿就行啊,那所以说哎,但是你从new里边拿的时候呢啊,你可能会有这部分是不是没有啊,这没有应该是几。哎,零,因为你当天没活跃嘛,没活就是零呗,那就诶NVL就行啊,这个直接NL就行,New点啊log in count,然后逗号零没错吧,那剩下最后一个,最后一个是什么?是累积活跃天数,那这个是不是又是进行累加就可以啊啊减累加啊,咱们累加一下,那累加的话还是原来那逻辑。
08:02
还原来是不是原来的啊,然后做一个判断啊,判断啥是不是就是如果说为闹就是按零,那右边呢,如果你今天活跃了,那我就按一,否则也按零,然后它俩相加是不是就可以对吧?那在这呢,直接写啊NVL啊然后呢,把谁放下来O的点login count,然后逗号零啊然后再加上后边啊加上应该是后边怎么处理啊啊if判断呗,对吧,If一下if哎new.m mid。啥玩意儿?啊,不是闹对吧,只要不挨闹就行,对吧,Is not,哎,Not。不一闹我就是一,否则我就是零,哎,那这个是不是就搞定了啊,其实就这样去做一下也行啊,这样做一下行好了,那这里边其实呃,我们如果说加上咱们那个呃,就是是否首日标记的话呢,这里边这儿这个逻辑需要咱们改一下,就是这个首日的逻辑是不是要改一下呀,就是咱们判断的时候呢,需要加一个哎,双重判断啊,需要加一个双重判断啊OK,这就是呃这个字段啊,这个段咱们就相对就完事了,那就完事了啊好,那这个完事之后呢,咱们最终需要再补上一个东西啊,就是insert overright table dwt层的o v topic,因为这个没有分区对吧,所以直接是整张表就完事了,好,那这个词核咱们也完事了啊好,那我把视频录一下。
我来说两句