00:00
好,那接下来呢,我们把第一个需求访客统计实现一下啊,OK,那在开始之前,我先给大家分享一个小技巧啊,就是在我们拿到这个需求之后呢,诶,咱们先去分析一下哪些字段是维度,哪些字段是统计值啊,那分析完之后呢,咱们先不考虑维度,而只关注统计值,其实就是这些核心的指标,对吧?啊,那咱们把这个核心的指标计算完之后呢,再把维度考虑进去啊,那这样一来呢,这个思路会清晰一些。啊好,那接下来呢,我给大家演示一下啊,OK,那咱们拿到这个需求之后,是不是也要先分析一下哪些是维度,哪些是统计值啊,对吧?实上这个很容易区分的啊,比如说我们这儿的is new、新老标识,Recent death、最近天数,China渠道这些是不是一看就是维度啊,对吧?啊而而下面的比如说UV count,哎,访问人数啊,Duration啊,这个是不是页面停留时长啊对吧?等等这些是不是一看就是统计值?啊,没错吧啊,那所以说呢,我们拿这个需求之后啊,就可以暂时先不考虑这些维度字段啊,而只关注下边的统计值啊,那这个到底怎么理解啊,什么叫做不关注这些字段呀?那我给大家解释一下啊,你比如说第一个字段啊,第一个字段是一字拗对不对啊,这是啥呀?是不是新老访客的标识啊,对吧?那这个字段的含义其实是啥?其实是想让我们去分别统计新访客和老访客的下列指标。
01:22
没错吧?啊,那所以我们在统计的时候呢,咱们暂时就先不去区分新老访客啊,我们先针对于全部的访客去计算一个总的统计值,没错吧?那当我们把这个总的统计值算完之后,我们只需要在原来的这个circle的基础之上加一个什么就可以了,是不是加一个分组就可以对吧?那咱按照谁分组呢?是不是就按照新老访客的标识去分组啊,那这样一来我们是不是就能够分别得到新访客的下列指标以及老访客的下列指标了呀?没错吧,诶是这样的啊,那我们再来举个例子,你比如下边那个channel啊,Channel是啥?是不是渠道啊,对吧?那它的含义实际上是啊,实际上是想让我们去分别统计每个channel的下列指标,没错吧?那所以我们在统计的时候呢,也可以先不去区分channel啊,咱们先针对所有的这个channel去算一个总的统计值,那算完之后呢,是不是也是在原来的这个SQ的基础之上加一个分组就可以了,按谁分组是不是就是按照分组啊?
02:22
是吧?那这样一来呢,我们就能得到每个渠道的下列指标了啊,OK,那这是China字段,那当然了,在这还有一个recent this,对吧?那这个我们也来分析一下啊,那这个字段呢,叫做最近天数,实际上他的意思呢,是让我们分别去统计最近一天的,最近七天的和最近30天的下列指标,没错吧?那在这我们去统计的时候呢,也可以先不去管这个最近N天,也就是在这儿呢,我们可以先只求一个最近一天的,没错吧,咱把这个最近一天的下列指标求出来啊,那再去求最近七天,最近30天是不是就容易了呀?对吧?那怎么求,是不是只需要我们把过滤时间的那个条件改一下就行了,没错吧,你算最近一天,你可能只需要过滤一个分区,你算最近七天呢,诶,你可能需要七个分区,30天是不是需要30个分区。
03:08
没错吧,哎,但是他们的计算逻辑是不是都相同的呀?OK,那这个呢,就是我要给大家说的这个小技巧,那一会儿呢,我们就先不关注这些维度字段了啊,咱们现在只关注下边的指标啊,那接下来我们就来分析一下这些指标的计算思路啊,好,我们来观察一下啊,实际上这些指标呢,大部分是不是都与绘画相关呀?对吧,咱来看一下,比如说这个啊,这样我们求的是啥?是一次绘画平均停留时长对吧,那这个呢,是一次画平均浏览页面数对不对,这是绘画的总次数啊,跳出数,跳出率,这些是不是都是与绘画相关呀?没错吧,那所以说咱这个需求的关键点就在于这个绘画的划分,没错吧?啊,那所以说咱这个需求啊,我们去做在这儿第一步就是划分绘画,OK,那咱们绘画划分完之后需要做什么事呢?我们往下看啊,来我们看第二步啊,那第一步刚才咱已经说过了,就是对所有的页面访问记录进行会画的划分,对吧?那划分完之后呢,来往下看,是不是需要去统计每个会画的浏览时长和浏览页面数啊。
04:12
对吧,那咱们把这个算出来之后,我们上述的这些指标那就好算了,为啥咱来分析一下啊,那假如我现在已经知道了每个绘画的浏览时长和浏览的页面数了,对不对?那接下来咱们分析一下啊,比如说我现在呢,想去统计一下页面停留的总时长怎么办?是不是把每个绘画的加一起就可以了。没错吧,那平均值呢,我已经知道每个绘画的停留时长呢,那我求均值是不是就容易了?没错吧?那同样道理,下边我去求页面总浏览数和平均,诶浏览数的时候是不是也是一样的道理,没错吧?那我们再继续往下走啊,那绘画次数咱们是不是也好求了?我只要把绘画划分出来,那这个是不是就能统计出来,那就来继续啊,我们再来看这个跳出数和跳出率,那你想一想啊,我们现在已经知道每个绘画的浏览页面数了,没错吧?那我们是不是就能够数出来到底有多少个绘画只浏览了一个页面呀,对吧?那所以跳出数我们是不是就好求了,那它求出来之后,跳出率是不是就求出来了呀?
05:11
没错吧,那所以说诶,我们只要把每个绘画的浏览时长和浏览页面数求出来,那OK,那剩下的指标了,那就好求了啊好,那这就是我们这个需求的大体思路啊好,那接下来呢,我们就按照这个思路呢,去实现一下这个需求,那第一步呢,就是对所有的页面访问记录进行绘画的划分啊那咱现在呢,先拿到我们所需的页面访问记录来,我应该从哪张表拿呀,是不是应该是从DWD层的配置log表里呢?对吧?那现在呢,我们先只统计最近一日的啊,那所以在这儿呢,我们把诶最近一日的分区过滤出来,来2020杠零六杠幺四,没错吧,在这里边呢,我们获取如下几个字段啊,Midd啊,Last配置ID,还有配置ID,那再来一个during time啊,再来一个TS啊,那这几个字段分别是什么?给大家解释一下啊,Midd呢,就是设备ID,用来标识咱们的访客对吧?OK,下一个last配置ID是啥呀?是不是上页ID啊,那配置ID呢,就是浏览的本页ID。
06:11
那么呢,指的是在本页面上停留的时间啊,那TS呢,指的是跳入当前页面的时间,OK,那现在我们把这个circle执行一下啊来。啊,那这就是最近一日的页面访问记录啊,那咱现在要做的呢,就是对这一部分页面访问记录进行会画的划分啊,那实际上啊,我们进行绘画的划分的时候呢,做的具体的工作啊,实际上就是加一个绘画ID啊,然后呢,通过这个绘画ID把属于同一个会话的页面访问记录给它标识出来。啊,其实就这样的,举个例子啊,假如说这部分页面访问记录属于同一绘画,那OK,那我就需要给这些记录呢加上一个相同的会话ID啊,那假如那这一部分页面访问记录属于另一个会话,对吧?那我需要给他们也加上一个相同的会话ID啊,那实际上这就是我们要做的具体的工作啊,那当然呢,我们去加绘画ID的时候呢,一定要保证这个绘画ID的唯一性,啥意思呢?咱不能说这两个绘画他们的绘画ID是相同的,那这就乱了对吧?OK,那这个呢,是大家要注意的一个小细节啊好,那接下来我们就来分析一下啊,就是咱这个绘画ID到底如何去加,我们先来明确一下这个绘画ID的内容是什么啊,也就是绘画ID是由什么组成的啊,在这儿呢,咱的绘画ID呢,实际上是由两部分组成的,一部分呢是m mid,另一部分呢是绘画起始的时间啊,那为什么要有这样的两部分组成的,我给大家解释一下啊,那这个m mid呢,它的作用就是区分。
07:45
不同访客的不同绘画,那这个绘画起始的时间呢?诶,就是为了区分同一个访客的不同绘画,OK,那这个呢,就是咱们绘画ID的内容啊好了,那接下来我们分析一下啊,我们应该如何去获取这样的两部分内容,我们先看这个mid啊,它怎么获取啊,它其实很简单,在这呢,咱是不是能够直接拿到啊,对吧?那我们再来看这个绘画的起始时间啊,那我们要想获取绘画的起始时间,我们首先得搞清楚绘画起始的标志是什么。
08:13
那绘画的起始标志应该是啥呀?那是不是就是上页ID为闹啊,对吧,为啥呀?那上页ID为闹那说明什么?是不是说明没有上一个页面没错吧?那也就说明我们当前浏览的这个页面是不是就是一次绘画的第一个页面呀。没错吧,那所以第一个页面的访问时间,那是不是就可以作为我们这个绘画的起始时间呀?那当然了,我们得保证同一个会话的所有页面访问记录都能拿到这个绘画的起始时间。对吧,什么意子啊,举个例子啊,假如说那这部分页面访问记录就属于同一个绘画,那这个呢,就是本次会话浏览的第一个页面对吧?那第一个页面的浏览时间是不是就是作为绘画的起始时间啊,对吧,也就是他啊,那咱是不是得保证其余所有的记录都能够拿到这个绘画起始的时间呀?
09:04
没错吧啊,那接下来我们就来分析一下啊,来咱们怎样能实现这样的一个效果,那在这儿呢,我们需要用到一个开窗函数叫做last value6啊,那其实与之相对的呢,还有一个first value啊,那所以说接下来呢,我们先去看一下这两个函数怎么使用啊,我们打开have的官方网站,那这就是这两个函数的使用说明啊,那我先给大家明确一下这两个函数的功能是什么啊,那我先看这个first value first value的作用呢,就是获取窗口内某一列的第一个值。啊,因为它是开窗函数对吧?啊,它有一个窗口的概念,这个大家应该都知道对吧?啊好,那我们再来看last value,那last value作用什么呢?就是获取窗口内某一列的最后一个值啊,这就是它俩的功能啊好,那接下来我们再来看一下它俩的用法啊,那这俩函数的用法呢,其实是一样的啊来我们看一个就可以了啊首先呢,这俩函数呢,它最多接收两个参数。
10:01
对吧?啊,第一个参数是必传的,第二个参数呢,是可选的啊,我们先来看一下第一个参数是啥,是不是就是你要获取的那个列呀,对吧,就是一个列名啊OK,我们再来看第二个参数是什么啊,第二个参数呢,必须得是一个布尔类型的值对吧?那默认值呢,是false,那如果设为处呢?诶,它就会跳过闹直。那这两个函数具体的使用逻辑是什么样的呢?我给大家解释一下啊,那假如说这就是窗口内的某一列啊,诶,这是多行的值啊,那假如说第一个值呢是闹值,最后一个值也是闹,那中间的值呢,它不为闹啊,OK,那假如说我们现在需要使用first y6去获取第一个值啊,那如果它的第二个参数诶设为false了,那OK,那它的反回值就是啥?那是不是就是now对吧?啊,那假如它的第二个参数设为初了呢?哎,那它是会跳过nu值继续向下去寻找不为nu的值啊,对吧,那它的反应值就谁是不是就是一。啊,这是first value6,那假如现在呢,我想用last value6去获取这一列的最后一个值,没错吧?那同样第二参数如果为false,那它的返回值就是谁,是不是就是no啊,对吧?啊,那那当然了,如果我给它设为true,那它返回的就是啥?是不是就是最后一个不为闹的值啊,对吧?那这时候就是谁是不是就是三呀,对吧?OK,那这就是这两个函数的使用逻辑。那介绍完这两个函数之后呢,肯定会有同学想到用first value流去获取绘画的起始时间啊,因为这个绘画的起始时间就是我们浏览的第一个页面的时间,没错吧?但是你仔细想一想呢,你会发现,哎,用for value6去获取呢,实际上是不对的。
11:38
啊,为什么不对呢?要给大家解释一下啊,我还是举一个例子啊,大家来看一下啊,假如说我现在用红线圈出来的这部分内容,就是同一个访客的两个绘画,大家注意观察啊,你要是同一个访客,它的mid是不是都是相同的呀?没错吧,但是咱这儿呢,其实是不同的啊,在这儿假定它是相同的啊,OK,那再注意观察一下,在这儿是不是有两个绘画起始的标志啊。
12:01
没错吧,那所以说呢,这就是两个会画啊,OK,那接下来呢,我们就尝试着使用first y6去获取每个会画的起始时间,OK,那由于first y6它是一个开关函数,对吧?那我们再去使用它的时候,咱是不是得有分区,得有排序啊,对吧?那咱按谁分区啊?诶,我们按照mid进行分区。没错吧,那刚才咱们假定说这些mid都是相同的,那所以他们是不是会分到同一个区里啊,没错吧,那按谁排序呢?在这儿呢,就按跳入页面的时间排序,也就是一个TS啊,那现在大家可以观察一下啊,咱这这个TS是不是恰好就是有序的呀,对吧?啊,而且是升序啊,能看到对吧?OK,那接下来我们就尝试使用first y6去获取绘画的起始时间啊好,我们先看第一行数据,也就是这一行。啊来,大家注意观察啊,那你说这一行使用first y6去获取TS,我们得到的值应该是什么呀?啊,这个大家得搞清楚啊,咱们前面说过first value获取的是窗口内某一列的第一个值,对不对?OK,那咱现在的窗口范围是啥呀?那我们刚才是不是提到了咱有order by对吧?有order by,那它的窗口范围是不是就是第一行到当前行,没错吧,第一行到当前行是不是只有这一行啊,那所以说它获取到的TS值是不是就是它。
13:14
没错,这个其实是正确的,没问题,对吧?OK,那接下来我们继续啊,看第二行,那第二行的窗口范围是不是也是第一行到当前行,没错,也就只有这两行啊,那它的first y6返回值是不是也是这个时间啊,对吧?所以这个也是对的,也没有问题,好,OK,我们继续往下走,一直走走走走到哪都是正确的,走到这都是正确的,都没有问题,他们获取的负Y6是不是都是这个值。OK,那接下来我们继续,大家注意观察,再往下咱是不是进入到下一个绘画了呀,没错吧,下一个绘画的起始时间是不是应该是他。没错吧,但是大家要注意了啊,咱们现在这个窗口范围是不是然是第一行到当前行,没错吧,那first y6取的值是不是仍然是第一个,那也是第二个绘画,我获取到的绘画的起始时间仍然是第一个绘画的。
14:02
OK,那下边其实都是一样的啊,那也就是这样一来的话呢,哎,我们是不是就区分不开同一个访客的两个绘画了呀,没错吧,那所以在这儿呢,咱们使用first value是不行的,那我们到底应该如何去获取每个绘画的起始时间呢?啊,那接下来我给大家把这个具体的思路说明一下啊,首先在这我们需要先多选择一个字段出来啊,那这个字段内容是什么呢?来,我直接写三个给大家看一下啊,在这儿呢,我们再选择一个,诶,If,一个if函数,那里边的判断条件是什么呢?是last page ID is now啊,如果为now,那我就返回来,我就返回这个页面的跳入时间,如果不为now呢,我就返回now OK,那接下来我们把这个circle执行一下啊,来来,大家看一下这个结果啊,那这就是我们刚刚选择出来的这个字段,那大家注意观察啊,在这儿我们其实相当于是只选择出来了每个绘画的起始页面的跳入时间,没错吧,那其余呢,是不是都为now啊,OK,好,那接下来呢,我们就可以使用last value6这个函数去获取每个绘。
15:03
花的70时间了啊,那具体的执行逻辑什么样的,我们一起来看一下啊OK,那last y6呢,同样是开装函数对吧?那我们使用的时候呢,也需要有分区,也需要有排序,没错吧?那现在我们仍然按照mid进行分区啊,按照这个TS呢进行排序啊OKTS呢,现在仍然是有序的对吧?啊好,那接下来我们看一下具体的执行逻辑什么样的啊,那首先我们先看第一行啊,那第一行它的窗口范围应该是哪儿啊?是不是应该是从第一行到当前行,没错吧,其实也就只有这一行啊OK,那接下来呢,我们就使用last value6去获取我们所需的绘画起始时间,注意啊,这次last value6要获取的列不是TS了,而是谁,而是我们刚刚新选择出来的这个字段,那由于窗口内只有这样的一个值对吧,那所以我们选择出来的肯定是他。那接下来我们看第二行啊,那到了第二行的时候,咱的窗口范围就是啥了,是不是第一行到单前行也就只有这两行对吧?啊,那现在我们拉Y6的返回之间的是谁呀。
16:02
啊,那这个是不是得看一下我们last y6第二个参数是啥呀?对吧?如果第二参数是false,那我们返回值就是啥?是不是就是now啊,对吧,但是我们不能让它返回now对吧?我们得让它跳过闹值,所以说我们使用last y的时候呢,需要将第二个参数设为处啊,那设为处之后跳过now值,那它获取到的是不是就这个值。没错吧,那也就是说在这儿呢,能够拿到绘画的起始时间没有问题啊,OK,我们依此类推,那下边是不是都能拿到我们所需的绘画的起始时间呀?没错吧,那接下来我们继续看关键点啊,到这儿了,那从这开始咱是不是就进入到下一个绘画了呀?没错吧,那接下来我们看,诶,Last y6在这儿获取到的到底是哪个绘画的起始时间啊,OK,咱们来分析一下啊,首先那到这儿了,我们的窗口范围仍然是啥?是不是仍然是第一行到当前行?没错吧,啊,但是我们是last y6,没错吧,获取最后一个不为now的值,那应该就是谁,那是不是就是它?没错吧,所以在这儿呢,我们就能拿到第二个绘画的起始时间了,那接下来我们看下一行啊,那到下一行的时候呢,咱的窗口范围就变成啥了,是不是变成这个了。
17:08
没错吧?OK,那last y呢?返回的仍然是最后一个不为闹的值,没错吧?那这个值本身是闹啊,那它最后一个不为闹的值是谁?是不是就是它?没错吧,所以在这儿呢,我们是不是也能获取到第二个绘画的起始时间,OK,那下边的依次类推都是没有问题的,OK,那这个呢,就是我们获取每个绘画起始时间的正确的思路,那接下来我们把circle写一下啊来,首先我们先给这个选择出来的字段起个名啊,我们就管它叫做session start point point,绘画起点对吧?好,那接下来呢,我们给它嵌套一个子查询来,CTRLX。来,CTRLV啊放进来,那在这儿呢,我们就给它起名为T1吧,啊啊,那现在我们从T1里边选择我们所学的字段来select from,那我们先把这些字段选择出来啊来CRC我放在这儿。那微来我们往前推一下啊。
18:01
OK,那接下来我们再选我们所需的每个绘画的起始时间,这个应该怎么选啊?是不是使用last value last vlu,然后里边呢,把session star point放进去,没错吧?然后呢,我们需要跳过now值啊,后边呢,咱需要写一个哎,Over over,里边呢,我们需要分区part partition by by,谁是by mid,那还得有一个order by对吧?啊,Order by,谁order byts啊,没错吧?那这样一来呢,我们就能得到每个绘画的起始时间了。OK,咱现在把这个先执行一下,看一下啊,来回车。好,结果已经出来了啊,那大家注意观察一下,假如说这就是一个绘画,没错吧?那这个是不是就是绘画的起始时间啊,那这个绘画当中所有的页面访问记录拿到的时间是不是都是这个会话起始时间呀?OK,那咱们的目的呢就已经达到了啊好,那接下来我们继续啊,那下边呢,我们还需要在这个时间的基础之上,是不是再加上一个mid啊,对吧?啊,因为我们需要用去区分不同的访客的不同绘画,没错吧?那这个怎么加呀?啊,其实很简单,咱使用con泰拼接一下是不是就可以啊,没错吧,来,我们给它诶,CTRLX放在conca当中cnca,然后里边呢,先把mid诶放进来,那后边呢,我给它拼一个这个横线啊,然后呢,再把这个时间放进来,那这个呢,就是我们得到的session ID,好,我们再执行一下回车。
19:23
OK,结果已经出来了啊,我们一起来看一下,那这几个页面访问记录它的会话ID是不是相同的呀?那如果是不是一样的,没错吧,那就意味着是不是这几个页面浏览记录属于同一个绘画啊?OK,我们来看一下这个绘画里边都浏览了哪些页面啊?那首先是不是先浏览了home页对吧?然后呢,从home跳到了MY对吧?从MY又跳到了orders安PA的啊,然后呢,从orders安PA的又跳到了trade啊,之后呢,又从trade跳到了payment啊,那到这儿呢,这个绘画也就算结束了啊好,那现在咱这个绘画呢,就算是划分完毕了。也就是我们的第一步已经完成了,对吧?啊,那接下来我们进行第二步的操作啊,第二步是干啥?是不是统计每个绘画的浏览时长和浏览的页面数啊,对吧?实际上这个就简单了,没错吧,在这儿我们是不是只需要按照绘画ID进行分组统计就可以了啊OK,那接下来我们把这个circle写一下来,我们开始写circle,好,那现在呢,我们再以它作为一个子查询啊来CTRLX啊,来括号。
20:26
来放进来,呃,我们往前推一下啊嗯,这个往前推一下,OK,那给它也起一个别名,我们给它叫T2吧,就啊来T2好,那现在我们从里边选择啊,来select,然后from,注意下边我们需要是不是分组了,对吧?按谁分组,是不是就按照session ID进行分组啊,没错吧,OK,那现在我们继续往上等啊,那在这儿呢,我们把这个塞山ID给它选择出来,选择出来之后呢,我们需要分别去统计每个绘画浏览的时长以及浏览的页面数,对吧?那时长怎么求时长,是不是把每个页面的时长加一起就行了,那对吧,也就是sum during time就完事了,那那接下来呢,是每个绘画浏览的页面数对不对?那这个是不是直接count就可以。
21:08
OK,那到现在为止呢,我们就已经得到了每个绘画的浏览时长和浏览的页面数了啊,OK,那由于我们后续呢,还需要再去统计一个访问的人数,对吧?所以在这儿呢,我们还需要把这个session对应的mid选择出来啊好,那现在咱这儿选一下,嗯,Mid啊,但是在这儿呢,我们不能直接选,为啥?因为咱下边是不是有分组。没错吧,所以在这呢,我还得在分组字段里边加上mid才可以啊好,那现在这个circle咱就写完了啊,那接下来呢,我们把这个circle执行一下,看一下结果。好,结果出来了,我们来看一下啊,前面第一个字段就是咱们的三选ID绘画ID对吧?啊,那第二个字段呢,哎,就是这个绘画所属的诶访客没错吧,再往下这个就是每个绘画它的浏览时长,那后边呢,就是每个绘画浏览的页面数啊OK,那到现在为止,我们的第二步也就算是完成了,OK,那接下来我们就可以去统计最终的每个指标了啊好,那下在我们先把这些指标拿过来,来把它盯一下啊,来CTRLCF3好,那下来我们来个子查询啊,下边这个放在括号里,CTRLX。
22:14
来括号好,那现在呢,CTRLV放进来,呃,这个呢,我们往前推一下啊,来往前推这个起个别名,咱就叫做T3吧,啊好,那现在select from t3。啊,OK,那现在我们先看第一个字段啊,那第一个字段是啥呀?第一个是访问人数对吧?注意我们要统计的是人数啊,那所以在这儿呢,我们统计的时候是不是得去啊,在这我们直接使用count mid就可以了啊,Count来一个啊,里边呢,我们放上咱们所需的这个mid mid好了,那现在我们第一个字段就求出来了啊,这就是所谓的访问人数啊OK,那接来我们看下一个啊,下一个是什么呀?下一个呢,是液面停留总时长对吧?那这应该怎么求?
23:02
啊,我们现在是不是已经知道了每个绘画的诶停留时长没错吧,那我们把这个每个绘画的停留时长加一起,是不是就是总的停留时长啊,那所以在儿呢,我们是不是直接sum求和就可以,那当然我们需要给下边的字段呢起一个别名,在这儿呢,我们就叫做during time就可以了啊,然后呢,CTRLC,诶把它放进来啊,那这就是我们得到的这个,诶,During time,那当然呢,大家要注意一下啊,就是我们DWD配置log这张表当中的during time呢,它的单位是毫秒,但是在这儿呢,我们需要的最终结果的单位是什么?是秒对不对?所以在这儿呢,我们需要把毫秒转为秒啊,怎么转?很简单,是不是除个1000就可以了?OK,那第二个指标我们就得到了,那我们继续往下看啊,下一个是啥?下一个是不是让我们求平均值啊,对吧?啊,求每个绘画的平均停留时长,那这个是不是直接用avg这个函数就可以了,没错吧,那这就是我们得到的平均值,当然这个呢,也要转一下单位来除个1000啊好,那我们继续往下进行,下一个呢,是配置抗的,这个让我们统计的是什么啊?
24:02
页面总浏览数,那同样我们是不是把每个绘画的页面浏览数加一起就可以了,那这个字段是不是就是每个绘画的页面浏览数啊,对吧?那所以说我们对它进行求和就可以了啊,当然在这呢,我们也要给它起个别名啊,这呢我们就起配置count啊,那上边我们就可以对它进行求和了,配置count诶page_Co啊好了,那这个字段我们也就得到了,好,那下一个下一个呢是avg配置count的是不是就是每个绘画平均页面浏览数啊对吧?那所在样了,咱是不是也是直接用avg函数就可以了,对吧?咱们把配置count的放进来好了,那平均值我们也就得到了,那我们再看下一个啊,下一个呢是绘画总次数啊,那这用的求这很简单,这个呢,我们是不是直接看得清就可以啊,没错吧,为啥?因为咱们下边的紫查询里边啊,它统计的是啥,是不是每个绘画的停留时长和浏览的页面数啊,没错吧,也就是说下边这个子查询当中呢,每行数据是不是就是一个绘画。啊,那所以说我们统计一下有多少行,是不是统计的就是有多少个绘画呀啊,所在这看个星就可以了啊,那接下来我们继续啊,那下一个呢,让我们统计的是跳出顺,诶大家要注意这个跳出数是什么来着啊,所以跳出顺呢,是不是就让我们统计一下只浏览了一个页面的绘画有多少个呀,对吧?那这个怎么求?在这呢,我们可以使用sum if去做啊,Sum if什么呢?If page countt等于一,那我就记个一,否则我就记个零啊那这样一来我们就得到了跳出数啊,那我们再往下走啊,最后一个呢是跳出率,这个就好求了,是不是用跳出数比上总绘画数得的就是跳出率啊,对吧?所以在这呢,我们复制一下就可以了啊来,我们把这个跳出数先拿过来,CTRLC放在这儿来,我们再除以一下这个CR星啊,OK,那这个呢,就是跳出率,到现在为止呢,这些指标我们就统计完了。
我来说两句