00:00
好,接下来呢,我们继续往下看,看一下这个系统函数,系统函数呢,这个class塞,咱们是讲还的时候是不是讲过呀?呃,讲过呢,这里面我简单给大家回顾一下哈,我就不再演示了,那首先呢,这里面定义了一张表,那这个表呢,是一个student的表,那包括谁的姓名啊,这个是区域啊,在什么地方上课,还有这个呢,是课程,是这个中文还是数学啊,还有呢是这个SPA,就说每一科的分数啊分数这么一个情况,然后呢,分别向里面插入了这是张三李四王,我们招这星期啊这么五个人,然后呢,一个有两个在北京啊,三个在北京啊,两个呢在上海这么一个位置,然后呢,两门是数学课三门。这个是语文课啊,后面呢,是这个对应的分数。好,那这个把它查出来,对应的这张表的信息在这画上面,那如果你用这个click set,比如说select course class set是I,比如区域,那就可以把区域给它进行一个聚合在一起,对吧?啊聚在一起啊,就这么一个功能。
01:09
那后面呢,我们就用到它把一些呃区域啊,还有一些多的一个维度的一个指标,把它放在一起,放在一列啊,等待日后的时候,我要想取出这里的值,我只需要去。一炸开是不就完事了啊,一炸开就行了啊,这么一个功能啊。行,那这里面还有给大家扩展了一下这个class s啊,可它可以取出单个值,比如说你看这里面数组零,那它取出的就是这里面对应的第一个数组的值啊,直接可以取出来哈,OK,行,那这个拉之后下边我们来看一下最重要的日期处理函数,几乎是你做数仓啊,是一定能用到的,如果说你不知道这个系统函数,那只能说明你没有做过输仓,或者没有真正的去写过一些业务指标生手啊非常非常重要,好,那么来看一下。
02:09
第一个叫date for日期的一个格式化,它呢主要是用来处理一些月的一些指标啊,我们来看一下,看它指标什么功能啊。把这个集群的写了。嗯。嗯。周日上课不太习惯是吗?习惯了,没感觉啊,忘我的境界了,学习。
03:00
PS。学习使你快乐,是小胡啊。不是打游戏的小胡呢?谁要打游戏?你看我不弄死。这个项目很重要很重要啊,包括日后啊,我这个项目有可能都会调到这个后面去讲,为啥呢?因为这个项目实在是太重要了。最怕忘,我和汪老师一直探讨这个东西要不要挪到这个后面啊,因为现在讲完了估计啊。都忘掉了,但是前边这个地方我也没想好放在什么项目,因为前边这个项目呢,一定是要把你前面所有学到的框架串起来啊,这样呢,你会对这个框架之间的联系有一个直观的感受,如果你不把这个框架串起来的话。那你始终感觉是你孤立的一个一个点对吧?啊,那这个用起来呢,就不能这个随心所欲了。
04:05
我应该做吧。等我会背节,我再换一个,再加一个项目。Fli项目两个下载还是可以的。要到位了。三多。好,那这样呢,我们这个还就已经启动起来了,启动起来之后,下边呢,我们开始一个一个测试,首先呢测试呢,就是这个date过慢,嗯,那它这个使用的什么使用呢?来看s date。哎,不卖了啊,然后传进去,传进去一个日期,2019杠零二杠幺零,然后对这个日期进行怎么处理呢?哎,咱们都学过这个日期的格式化啊,YY表示年,比说杠大,MM表示月,那我这么一写就相当于把最后的这个日截取掉了,对吧?好,我们来看一下。
05:12
那你这些取掉就直接取出来,2019杠零二,也就是说二月份。那日后呢,我们用它就去算一些月的指标啊,就会方便了啊,也说这一看截取出来之后都是二月份,比如说现在我截得是2月10号,那我再来一个2019杠零二杠幺幺,那我截出来还长,那它们就相等了,日期也就相等了,都是二月份,那么它就能都统一归到二月份去计算,那零二杠幺八,那它也是二月份。啊,就是这种方式去使用哈,好,这是按月统计,那下面还有这个date a加减日期的一个预算,那我们来看一下。都是开头。
06:05
啊,那来一个标志性2019杠零二杠幺零,好,那我现在在他基础上加一篇啊。那就是2月11号啊,那再来加五天。2月15号好,那它还有一步呢,我减我加一个负号。减5000啊也是没问题的,对吧?啊,其实还有一个函数啊,是真正处理减的select。这不是那开的啊,这是大上2019杠零二杠10S10,然后我这地方不写负五了,我写五看。是不是起到的效果跟这个是一样的啊一样。
07:01
啊,只是这个方法名是一样,呃,方法字的意思这呢是加,这个是减,嗯,看你用哪种思维了哈,算的结果是一样的啊,我更习惯用这个date很方便,大不了我在后面加个括号对吧?啊,这样OK,那这个是日期的一个加减,那下面呢,还有一个用来处理周指标的叫nice day nice倍,那它又怎么算算呢?我们来看一下。Next thing。2019杠零二杠幺零啊,然后我来一个MNMN知道是谁的书写吗?Monday是不是周一啊,那么来看一下啊,看一下这个日期忙上2月10号20号,2月10号是不是周日啊,周日那它这个表示的含义是2月10号的下一个周一。
08:04
那2月10号的下一个周一就是2月11号,知道吗?2月11号OK,那这里面我们改一下。我2月11号的周一。你看一下。也就是说,2月11号的下一个周一,就是2月18号。啊,它是下一个啊,下一个OK啊好,那这里面它可以作为下一个。周一到周日,任何一个都行。它可以采用两种方式,一个呢是把这个全全英文名词写上去,另一个呢,是只取它前两个英文单词也OK,那这里我再演示一下哈,下一个就是Tuesday是吧,你们还认识吗?来考一下,好下大家Monday Tuesday Wednesday Thursday Friday Saturday Saturday还不错,上了大学是吧?小学行,那这里面我们来一下啊,你看Mo里面。
09:15
一样,它识别的就是啊,不识不关心的大小写啊,OK,好,那我们再来20TUESDAY tu是吧。2月11号本身就是周一,那他的下一个。这是周二吧,周二就是12号对吧,那你看一下是不是。对是就12号了啊,这样它是下一个啊OK,好,那这个搞定之后,那下一个这个是比较关键的,取当前周的周一。嗯,当前周的周一,那这里面我们来举一下。怎么取呢?比如说这里面。
10:00
还是二月,我现在是2月10号,我取当前周的周一怎么计算,那当前2月10号的周一就是四号。我怎么把零四号洗出来。当前周的周一吗?啊,学习不是一到周日啊,一到周日,那这怎么算呢。既然涉及到了这个算呢,这一周的周几就涉及到加减对吧,那只要用到加减就是对的啊,那么我希望算周一,那我就算到下一个周的周一,减去七,那我就减七,就来到了本周的周一,那我这个地方就要算下一个周的周一,那就是next day。下一个周的周一,那周一的是Monday,好,那当前日期2019杠零二杠1020号。
11:08
我24号,嗯,来看一下。比如说2月4号的,这你看2月10号的,本周的周一就是2月4号啊,就这那这里面还有一个方式,我能不能算这个周的周日。然后。减六能不能?觉得能不能。那试一下呗。啊,周日啊,就周日吧,啊3A方啊3A然后减减几。下一个周的就是。能写八了吧?算了。2月10号对吧,2月10号的下一个。
12:04
周日啊,这个你不好算,我来月29号。看看,看看除了周一之外别的行不行,你先算一下。这很关键啊。2月9号,那你说他的下一个周的周日是周日吧,他得啊周日减几呀。那它本身就是周日了是吧,所以说这里面涉及到问题,你看啊,如果你你现在是九号九号,那他下一个周的周日。是目前这个是十号吧,那十号是不就是他这个周日,你要是算周一的话,那你得周日减天节。得减六吧。算一下是不是减六啊,你这个是减六了,那你一会看别的了。减掉没问题吧,啊得到周一了,那你再来。
13:05
对,我现在变日了,现在呢,我变成2月10号,那下一个周日是。17号,17号再减六是多少呢?11了,那11是这个24号吗?我们希望的是不是这周的周一是24号啊。啊,所以说不能用其他日期,我们要用的话就用这个周1MONDAY啊,用它计算啊肯定没问题,OK哈,这要注意一下。行,那我们下班再聊。还有一个呢,就是这个last day,这个呢很好用,就是求当月的最后一天啊,最后一天。那。
14:00
2019杠零二杠幺零。二月28啊,二月份的28号啊,那当然你这块来改一下三月份那最后一天,3月31号啊,也说不需要考虑这个闰年不闰年啊,这些东西都给算完了啊,这就是系统提供的这些函数,那日后在分析指标的时候,像这个date part,我们主要用它来处理一些月的指标,那这个那个呢,主要是用来处理一些时间的加减啊,一般是啊日指标,那next day呢,这个呢,你看它都是跟这这个周相关的,那我们通常是用它算一些周的指标啊,那后面呢,还有一个呢,是这个last day,最主要的是处理按月的日期的一些判断怎么样,OK哈,这是系统函数是必须要记住的啊。
我来说两句