00:00
啊,好了,各位同学,那咱接下来呢,就呃去体会一下到底如何从零到一的去设计DWS互应表,那首先我们得先找到是不是我们ADS层的这些需求啊,对吧?咱们ADS需求说实话非常非常的多,那在这儿呢,我们没时间说一个一个的都先去分析一遍啊,那现在咱们干啥呢?我们就从里边挑两个比较典型的需求,那然后呢,咱们就以他俩为例啊,之后呢,我们再用它去指导我们去设计DWS的规,咱们就是通过这样一个案例去把DWS层的这个相关的知识点都给它带出来啊,实际上咱们这样去安排好,那现在呢,我们就以这两个需求为例,这俩比较典型啊,那我们现在先简单的来看一看这俩需求让我求的内容是什么啊,来吧,咱们看一眼。第一个需求呢,他让我们求的是各品牌商品交易统计,这是一个综合的需求啊,里边呢,会包含若干个指标,对不对,那接下来我们看一看这个具体的指标都有啥啊来首先先看第一个,第一个他让我们统计的是什么。
01:03
最近一期三十日对不对,首先这个一看到它,咱们应该能感觉出来,这应该代表的就是那个统计周期对不对?好,那完之后往下走,统计的是什么?是各品牌的订单数。嗯,这个大家应该能理解吧,让我们统计时间是啥呢?就是最近一天,比如说我每个品牌下边的这个商品的,说白了就是被下单的次数吧,对吧?诶就这个意思,OK啊好,那还有最近七天,然后各品牌下边的商品被下单的次数,诶然后呢,还有最近30,各品牌下边的商品被下单次数,诶这是我们要体算的第一个指标,但你说的是一个指标也不太合适,这里边实际上对应了几位,应该对了三个,对吧?一是不是一个数,七是不是一个数,三是不是一个数,30是一个数对吧?一个数我们称为一个指标嘛,对吧?好,那接着往下走,那看第二一个,第二个是什么呢?诶,最近一七三十各品牌的什么呀,这回是订单人数了,就是下单的人数了,对不对,刚才是下单的次数,这回是不是统计的人数了,对不对,这个有点区别,好继续往下走,那看这个,这个是让我们统计最近一期三十日各品牌下边的商品被退单的次数,那下边的还有一个就是最近一期三市各品牌下边那个退单的人数啊,实际上这实际上呢,就是我们第一个需求要算的几个指标,这几个指标说实话不是特别的难理解,对吧,相对是比较简单的,OK,那反应快的同学呢,现在应该脑海里边已经知道了这个东西到底怎么去计算了吧。
02:29
啊来咱们体会一下,比如说现在咱们要算这个指标,呃,不考虑DWS层这个表怎么设计啊,咱们就单纯的从维度层里边对,从这个维度模型里边去拿数,你看这个东西你会不会算。看他这个会不会算,怎么算呀。首先你你就拿到任意一个指标的时候,你都得先明确什么呢?你得先明确他用哪个业务过程,是这个道理吧,你你分析分析他用哪个业务过程,那肯定是订单嘛,对吧,所以说我们是不是应该找到下单的时时表没问题吧,OK,好,那完之后呢,用什么维度咱得搞清楚。
03:04
用什么维度看谁就行了,看统计力度,看业务限定,或者看统计周期对不对,是不是就完事了,对吧?咱那有业务限定吗?没限定,只有一统计力度,这叫品牌,所以说你必须得拿到什么,你得拿到啥呀,就是我们你那个下单记录当中,你下的每一个商品,它所属的什么,所属的品牌吧,对不对,你得知道你那个商品是哪个品牌的吧,对不对,好拿到,那这个从哪拿呢?是不是得从那个商品维度上去拿,对吧?好拿到之后他来说肯定得做一个关联,没有那吧,接下来呢,得过滤一下吧,对吧?因因为不是要算全部的,我只算最近一期30天的嘛,假设先算一个最近一天的,那是不是得对那个事实表过滤一下,拿最近一天的下单记录,那之后呢?之后是不是葛入看的就完事了,对吧?按谁搁入吧,是不是按照品牌进行葛入呗,对吧,分组,那分组之后呢,我一行是表明下单一次啊对吧,看了星那不就完事了对不对?其实很简单啊,就是咱们得知道,就是我们拿到一个指标之后,我怎样一步一步去分析对吧?就记住这个原则,先看业务过程,你先明确他用哪个业务过程的数据,再看用哪个维度对不对,然后呢,再根据统计力度啊,统计周期啊,业务限定啊,是不是进行相应的过滤或者分组就完事了,对吧?其实这个东西并不难啊,好了,那这个,当然这个咱们现在主要的目标不是说怎么去算这个指标,咱们一会儿呢,需要用它去设计DWS的汇总表,这个咱们一会再说啊好,那就来,继续往下走,下边往下走走走走。
04:24
哎,我们再来看一下第二一个指标,呃,第二一个需求啊,第二需求,这个需求是什么呢?这个需求跟刚才相比是不是看起来差不多呀,唯一的区别在哪?刚才让我们统计的是各品牌的,这个让我们统计的是各品类,这个品类其实指的就是这个商品的分类啊,就是category啊,就是那个意思啊啊,那就来看一看他让我们算的具体内容是什么,他让我们算的实际上是最近一期三十日各品类的订单数,订单数最单数推数,刚才那个是不是区别就在这个统计力度上,别的都没啥区别,我就不再一个一个解释了。好了,那我们现在呢,就以这两个需求为例,哎,咱们去再体会一下DWS层的表的设计,OK,好,那首先咱们需要干啥呀?
05:04
需求已经明确了,对吧,接下来需要干啥?是不是需要对这个指标进行一个所谓的拆解啊,对吧,我们得去明确一下,OK,这个指标它是一个什么类型的指标,是衍生指标,是派生指标,对不对?OK,那完了之后呢,如果是派生指标呢,那我的这个原则指标是什么,我的统计周期是什么,我的统计力度是不是得去做这样的一个工作呀,对吧,就是构建指标体系的一个工作,好那咱接下来呢,就把这块呢给他去实现一下啊,那在这边呢,我也是借助这个脑图去做吧,来来,我新建一个脑图啊,来,就这个吧,呃,完了之后呢,我把原来的先关掉,呃,这边呢,我先调整一下啊,把这个面板调一下,这个给它改成这个在一边,好,那现在呢,咱把这个东西给它去啊,做一下啊,那首先我这写一个标题,我就叫做这个,呃,指标体系指标,呃或叫分析也行啊核分析好,那接下来继续往下走,那下边咱们先干啥啊,我们现在先把就是咱们这边的这几个派生指标啊,这这这几个这个具体的指标是不是先给它粘过来啊,对吧,然后咱们再做,再去做这个拆解,再去做这个分析啊好,那我现在先把第一。
06:04
个给它CTRLC拿过来,呃,之后呢,我放在这个位置,呃,但是这里边需要调整一下啊,这个我们说准确一点,应该让我们算的是最近一七三十日是不是各品牌的这个订单数啊对吧?哎,个品这个的就不写了啊,写一个这个品订单数就明确了啊好接来继续往下走,那下边让我们算的是什么?实际上下边让我们算的是什么人数对吧?那这个呢,直接拿过来这个订单数后边给它加上一个字叫做订单是不是人数啊对吧?好了,那这个就完事了,那再往下让我们算的什么来着,是各品牌的退单数,退单元数,基于前面这俩是不是稍微的改一改就行,对吧?我CTRLC复制一下啊,这两个我就不要了,删除,然后CTRLV给它复制过来,那这个呢,应该改成是不是退单元数退单,OK,那下边呢,也是改成退单就可以了,好,这个没啥问题吧,哎,写了多写了一个单啊,行了,完成之后我们继续往下走,那第一个需求咱们相当于就已经都罗列起来了,那接来第二一个,第二个跟第一个区别是就在这个统计力度,所以在这呢,我也是基于它给它稍微的改一改就行了,来CTRLC,拿过来CTRLV。
07:04
呃,然后呢,我们把这个所有的品牌呢,都给它先改成是品类啊对不对,那这个改成品类,这个也是一样的类,然后呢,这个呢,哎,品类好,那继续往下走。这个呃品类行了,那现在都改完了,都改完之后,咱接下来就可以开始干啥了,是不是就可以开始去拆解咱这个指标了,对吧,咱一个一个拆好了,那现在咱们开始吧,第一个指标,你说它应该是哪种类型的指标,是原子是当然不可能是一个原子指标,对吧?是一个派生指标呢?还是一个衍生指标。其实我之前给大家说过,怎样去判断一个具体的指标是派生还是衍生指标呢?你就看什么就行了,你就看我这个指标啊,我要想算它的时候,我能不能直接通过一张明细实时表,是不是聚合得到就完事了,对吧?如果能直接聚合得到,OK,那它一般情况下就是一个派成指标,如果直间通过一张实时表聚合不了得得不到,对不对,那它理论上一般就是一个衍生指标啊,是这样的啊好,那你分析分析这个能不能直接通过一张实时表聚合而来,应该可以,刚才咱是不是分析过了,对吧?这个东西我要算的话,我是不是直接找到下单时表,然后呢,照个维度直接分组聚合就得到结果了,它是可以的,对吧?所以这个东西理论上应该就是一个派生指标,所以在这呢,咱们给他诶标注一下,写一个指标类型,那完了之后它应该是一个是不是派生指标啊,对吧?好,那接下来继续往走,既然是派生指标,那我们就得对它进行一个什么呢?是不是进行一个指标呢?定义啊,对吧,咱们得用那个公式给它定义出来,我这稍微的放大一点啊好,那派生指标那个。
08:41
公式大家还记得知道吗?分别是什么?原子指标原子啊,原子应该是第二一个啊哎,然后指标没问题吧,然后呢,统计是不是这个周期啊对吧?周期来一个周期好,那再往下呢,统计是不是力度啊对吧?OK,那再往下呢,呃,业务限定对不对?还有业务限定,那这个我稍微调整一下吧,我把这个统计力度放在最后,业务限定我放在最中间,跟咱们之前那个公式的顺序保持一致啊,那这个呢,应该叫做业务限定对吧?嗯,好,没问题,行了,那这个都完成之后,我们继续往下走,那原子指标是不是也由三部分组成啊对吧?分别是啥来着?业务过程对不对,还有什么呃统呃,还有那个那个那个那个度量值对不对?度量啊来,我们写一个度量,写一个值吧,度量值好,再往下呢,是什么是聚合逻辑,对吧,聚合哎逻辑好了,那这样一来我们这个公式都放在这了,那接下来咱是不是就可以往里边填东西了呀,对吧,那分析分析吧。
09:40
这个东西所对应的业务过程是什么?刚才说过了,应该是下单,对不对?这个没啥可说的,接来下一个度量值。订单数注意啊,度量值指的是哪的?度量值指的是你这个业务过程所对应的那张事实表里的度量,度量值对不对?OK,好,那我这要求的是那个下单的次数对不对?那我下单次数我应该用谁去求呢?
10:04
用应该用这张表当中的哪个度量值去求呢?是用金额去求啊,还是用件数去求啊,这个能求出来吗?你都不行,对不对?你得用什么,得用次数去求吧,对不对?那我这个表当中有没有这个次数这个度量值呢?有咱们有一个隐含的度量值次数一对吧,是不是一行即表明一次啊,对吧?那所以我这个度量值其实就是那个隐含的次数一对不对?OK,那完了之后我这个聚合逻辑应该是什么呢?呃,你萨其实也行,我直接count的是不是也行啊,对吧?因为你萨一跟你count的一得到的结果实际上是一样的,对吧?所以在这呢,你随便写个就行啊,比如说我这写一个看吧,好了,那这样一来的话呢,我们就已经把这个原子指标给它定义出来了,那接下来继续往下走,下边就是统计周期,这个统计周期应该是啥?呃,其实这个应该是一期30,应该是分开去说,对吧,咱们这简化一点啊,我就不拆开了,我给它放在一起,那这个呢,实际上就写一个一七三十就完事了,很简单对吧?再往下走,业务限定是什么?无业务限定对不对,咱这是没有没有一个所谓的业务限定啊,对吧,他是没有说让我只求什么,比如说什么哪个地区的呀,只求哪种哪种分类的呀,没有这样的限定条件,对吧?那所以这个就是那统计力度,这个不用说肯定是什吧,是不是肯定是品牌啊对吧,这个相对比较简单,好,那这个完成之后,咱继续往下走,这个分析完了,那这个大家会不会分析。
11:19
这个会不会分析应该差不多吧,对吧,它是一个什么类型的指标。它是一个什么类型的。它是什什么什么类型的,其其是一样的,对不对,其实是一样的啊OK好,那完之后呢,我们现在呢,把这个也给它CTRLC复制一下,给它定义出来,CTRLV我放在这好,那现在呢,我们呃来明确一下,就是我们这里边儿呃这个具体的这个怎么去调整啊,那首先排排指标,这个不多说指标定义,那这个一个一个改呗,首先看先还是先改原子指标啊,那原子指标当中,你说它所对应的这个业务过程应该是啥。也是下单对吧,因为订单人数嘛,对吧,那度量值聚合逻辑这应该是什么呢?他说你要是想从下单市值表当中去统计下单人数,你得怎么算呀。
12:06
那下单时表里对不对,里边是一个一个明细下单记录,对吧?我想统计下单人数,你得怎么说得count的吧,Cutt个谁user ID吧,没问题吧,那所以说从这你应该能感觉出来我们度量值是谁。不就是user ID吗?对不对,那同学可能会说了,诶,你这个user ID不是一个度量,是不是一个那啥吗?不是一个那个维度吗?你知道怎么变成度量值了啊,其实七间我之前刚才给大家说过啊,就是我们在有些情况下这个,呃,就是我们的这个所谓的。呃,维度和度量他俩的这个是不是界限不是那么清晰啊,对吧?那它有时候可能是一个维度,有时候可能就是一个度量,那到底是维度还是度量,这个取决于什么来着,取咱们怎么用它对不对?我用在度量值它就可以,我用在聚合函数里边,它就可以是一个度量,我用在分组和过滤条件当中,那它就可以作为一个植入维度啊对吧?这个咱案稍微的理解一下啊,所以在这呢,我们把它作为一个度量值也是没有什么问题的啊,那这个聚合逻辑这应该是什么呢?就是count是不是第一次听大对吧?呃,DS,然后呢,Tin OK,这个应该是没啥问题的,对吧?好,接下来我们继续往下看,那统计周期这个用不用动,这个应该不用动,对吧?那统业务限定呢啊也不用动,那统计力度呢也不用动,这个都是OK的,对吧?好了,那截止到现在呢,前两个这个排名指标咱们就算是都定义出来了,那接下来呢,我们继续往下看下边该谁的该这个所谓的各品牌的退单数了,对不对?OK,那这个退单数我们应该怎么去分析呢?
13:35
退单数,大家想想,你说跟这个下单数有没有类似的地方?应该有吧,应该有吧,对不对,他俩其实只有一个地方是不一样的,哪不一样的,其实只有。哪不一样,诶,我这个粘多了啊,我这个再重新粘一下,我只粘这俩就行,CTRLC拿过来,它其实只有俩地方是只有一个地方是不一样的,那就是哪就是业务过程,你只需要把它的下单改成退单,其实就OK了,大家看是不是这么回事啊,没问题,因为你在退单表当中,我一行表示的是什么?是一个人是不是对一个商品的一次退单操作呀,对吧?那我看到完之后得到的不就是这个退单次数吗?没问题吧,那所以说其他的都不用动,只需要改一下一个过程就行,包括下边的这个人数,大家想想是不是也是一样的,对吧?只需要把下单拿过来,我们把它的业务过程由下单改成退单也就完事了,哎,这个其实基本上都是类似的啊,行,那这个都完了之后,我们前边四个指标,也就是第一个需求是不是就完事了呀,对吧,那你想一想,我们下边这些东西要改的话,好不好改。
14:40
还用第二写吗?不用了,是不是也是基于上面改一下就行,你要改改谁就行,只需要改统计力度就完事了,对吧?OK,所以在这呢,我们就直接把上面给它复制一下,快速的拿过来啊,CTRC,诶,往下走,我们找到这个订单数放在这儿,那我们只需要把这个品牌改成品类就行了,对吧?别的是不是都不用动,哎,都不用动啊,OK,那完了之后我们继续往下走,我们再找到第二一个这个指标,然后这是订单人数,我们找到下边与之对应的各品类的订单人数,然后呢,把品牌改成品类,这个也没啥问题,对吧?好,继续往下走,我这个复制一下就完事了啊。第三一个应该是各品牌的退单数,然后我们往下走,CTRLCCTRLC,我们对应到各品类的退单数,在这里边也是,只需要把品牌改成品类那就搞定了,最后一个来给你拿过来,应该是各品牌的退单人数,这个对吧?来往下走,CTRLC,呃,给它放在各品类的退单人数上边,只需要把品牌改成是不是品类,那就完事了,对吧?OK,好,各位同学。
15:40
那截止到现在呢,我们这个所谓的指标体系,是不是好像就算是分析完了呀,对吧?OK,好,那分析完之后呢,我们来明确一下啊,就是我们这儿这几个真正的这个计算指标,就这这是我们真正要算的指标,对吧?那他们大体的一个计算的逻辑是什么呢?实际上咱们这儿可以这么去说计算,呃逻辑我们实际上是让他怎么算啊,是让它是不是直接从一张事实表是不是聚合得到了,对吧?没没问题吧,OK,因为他现在咱们按照咱们的分析,这是本身就是一个判人指标啊,对吧?那么判石指标本身是不是就可以直接从一张实表聚合得到,对不对,OK,那这实际上就是我们这样的一个计算逻辑,那不光是它,我下边所有的实际上目前是不是都是直接从事实表聚合而来,对不对,那这个呢,我都给他写上一个这东西啊,OK,那这个CTRL为拿过来,CTRL为拿过来,CTRL为拿过来,CTRL为拿来,好这个没啥问题吧,OK,那虽然我这给它标上了这个计算逻辑了,但是咱们需要明确一点啊,明确哪一点呢?
16:41
虽然它能够直接从一张实时表聚合而来,但是呢,我们在真正的去算这个指标的时候呢,其实并不一定非得让他从事实表聚合而来。这句话怎么理解呢?可能稍微的有点绕啊,为什么这么理解,大家想想啊,呃,这个事实表里存的是不是明细数据对不对?OK,那我们这个最终的结果存的肯定是汇总结果,对不对?OK,那我们从力度这个角度去考虑,是不是这个力度是最细的,而这个力度呢,是不是相对来说一个较高的较粗的一个力度啊,应该是能想明白对吧?大,大家想一想,你说我们DWS层啊,咱们现在虽然还没有开始设计,我们DWS层一张表没有,但是将来咱们这个DWS层是不是可能会有很多的表,对不对?这个很多的表里边是不是可能会有各种各样的力度啊,对吧?那你说有没有可能恰好就有一张是什么样的呢?有一个力度是介于这个明细表和咱们这个最终结果的,哎,中间的这样的一张汇总表呢。
17:39
应该是有可能会有的,对不对啊,是这样的啊,OK,那假如有了,那你说我要算这个指标,我还一定非得让他从市值表去合吗?那就不一定了,你既然有一个中间力度的汇总表,假如说也能得到这个最终的结果啊,OK,那我就没必要从明细剧了,对吧?因为你中间表我的什么呀,我的数据量是不是肯定更少,对不对?你力度越细,你的行距越多,你力度越粗,你的行是不是就越少,对不对?所以说这种情况下呢,我们应该优先让他从中间的这个汇总表得到结果,而不是让他再从明细表去聚合,诶,这一点大家一定要搞清楚,好,那当然呢,我们目前DWS层没有任何一张表,对不对?所以在这儿呢,我们的计算逻辑肯定是让他直接从一张事实表聚合来,这个应该没啥问题吧,各位同学好,这一点大家理解一下就行了,好了,那现在呢,我们这个每一个指标,他们的这个所谓的派生指标,咱们就算是都找到了,对不对,他们是不是都会对应一个具体的派生指标啊,对不对,那咱咱们接下来下一步要做的工作应该是什么?下一步咱要做的工作是下一步咱要做的工作。
18:39
我是不是应该是从这些具体的需求所对应的这个派生指标里边去找那些所谓的公共的派生指标,对吧?那找到之后是不是根据那些公共的派生指标去设计D外层的表,这里论是我们接下来要做的工作,对吧?那怎样做去比较方便呢?怎么做呀?怎么能方便,那是不是应该是把这些排名指标全部的都给它拿出来,对吧,拿出来之后咱们说看的更清楚一点啊,对不对,这是我们下一步要做的工作,好,那现在我把视频先停一下。
我来说两句