00:00
呃,这个活动维度表呢,本身它也没有什么特殊之处,本身是没有什么特殊处的啊,但是这里边儿,因为咱们这个我们自己造的这个数据呢,它有一点问题,所以导致这张表呢,那就有些事儿呢,需要给大家去解释一下啊来我们先看这个活动维度表,活动维度表它本身里边是不是就是存储活动相关的信息就行了呀,对不对,那还是老样子呗,还是老规矩,咱们是不是去业务系统当中去寻找所有描述活动的表。然后把它们照到一起就行了,对不对,那这时候咱们继续找啊,去找跟活动相关的,那咱们现在看左边吧,看活动相关的都有谁啊,首先activity in four,这是不是肯定是用来描述活动的,这没这个毋庸置疑,对吧,肯定是它那下边。Activity order,这个是用来描述活动的吗?这其实不是,这是记录什么的呀,是不是记录哪些订单参与活动了,所以它不是描述活动的对吧?那所以这个不选,那这个activity rule,这是什么意思,活动规则表,这肯定是描述活动的吧?啊这个没错,那下边呢,还有一个s activity SKU,这是干什么用的啊,它里边记录了就是哪些SKU或者哪些商品是能够参与。
01:12
咱们这个活动的对不对,它是不是也相当于是一个活动的描述信息呀,对吧,那所以说正常来说我们应该怎么做呀,应该是不是直接把这几张表。到一起,然后组成一个咱们的活动维度眼,应该这么去做,没错吧,啊,确实没错啊,确实没错啊,但是呢,这个呃,大家要考虑一个问题啊,你看一下,你先看一下我们文档是怎么做的吧,文档上你会发现啊咱们这个活动维度表。很小啊,字段很少,其实可以明确的告诉大家啊,这几个字段,呃,只是哪张表的字段呀?只是activity ino这张表的字段只有这么几个,也就是咱们文档上去做的时候呢,并没有将哎活动规则和活动SKU这张表呢和它进行join。
02:00
并没有跟他抓稳。啊,这边为什么没有这样呢?其实这里边是有一个,呃,是有一个问题的啊,给大家解释一下啊来咱们先看一下这两张表当中这个这个数据吧,呃,当然在这看不了数据,对吧?咱们去哪看呢?我们去看呃,Ods层啊,咱们ods层啊,找到ods层咱们看哪不看这ods层咱们只有活动信息啊,咱们打打开那个cat吧,咱们看买SQ里边的啊。咱们得先把这几张表的数据看一下啊,联想买circle啊,然后呢,我们找到activity four啊,先想这张表,那这张表当中我们大家要注意啊,这里边一行数据是一个什么,是不是就是一个活动记录对不对,那下来往下看activity入那这张表当中啊,我们来看一下。这里边这个数据大家能看懂啊,这里边数据还有点毛病啊,咱把这个改成二啊,给它改成二,那行来看一下啊,这东西咱们看一下能不能看明白啊。
03:00
嗯呃,这个咱们先不看了,下边这个不看,咱们就看这三条护具吧,啊,咱们就看这看这三条,那这三条我们大家能不能看懂啊,首先活动规则肯定是用来描述我们那个活动的,对吧?那他描述哪个活动是不是通过X的ID去指令啊,对不对,也就是他描述的都是是不是都是活动一啊,那活动一后边它的这个具体的规则是什么样的呢?哎,你可以看一下啊。开这个字段看能不能看懂啊,这个是condition amount,这是什么呀?Condition number,那这个是什么?Benefit amount benefit discount啊,这是啥意思啊,这是。啊,后边还有一个benefit level啊,这都是什么意思啊,来解释一下,我们一个活动呢,其实它是有可以分为这样的两种类型啊,一种类型是什么是呃,就是满多少减多少,就是满减活动,那还有什么呀,还有那种就是满件打折啊,就是满两件打几折,满三件打几折,对不对啊,是这样的啊,那所以说那这里边这个活动规则呢,我们有就有这样的两对字段啊,一个是condition amount,一个是benefit amount,如果说你这个活动是满减活动,那就是满100减五,满200减15是不是这个意思啊,如果是另外一类就是满件打折,那就是什么呀?肯定是number和benefit discount,比如说满两件打这个八折,满三件打七折,是不是这个意思啊,是这样,那很显然,咱们这个一号活动,它应该是哪种活动啊,应该是满减对吧,那是满减能看出来是吧?啊好,那这个大家搞清就行,然后我们又知道啊。
04:40
就是一个活动呢,我的优惠级别其实可能有多个,你比如说咱咱们这儿满100减五,满200减15,满300减45,它是不是有不同的优惠级别啊,123能看懂吧,这是同一个活动的多个优惠级别。啊,好,那这一点我们先明确啊,那明确这一点之后呢,接下来我们就来考一个问题啊,假如说我们现在将activity in for和activity rule这两张表给它join到一起,组成我们的活动维度表,那我问大家一下啊,它俩join到一起,假如说咱们没有这行数据啊,假如说有吧,这个是关联的是二号活动对吧?二号活动假如说有啊,那你就说那这张表和这张表撞到一起之后,我们的结果应该是有几行数据。
05:23
来几行啊。那么这张表两行对不对,那这张表呢,有几行,有四行,那你说最终撞到一起之后,应该是有几行。你想几行啊,是不是四行啊,对不对,那这道题肯定是四行啊,那也就是说我们在最终这个活动维度表当中,一号活动会有几行。三行,然后二号的是不是会有一行啊,对不对,也就是一个活动是不是在活动维度表当中会有多行。啊,那这是咱们照到照到一起之后是不会有这种现象啊,对不对,那我再问一下大家,那我们那个哪张事实表是跟活动维度表有关系的呀。
06:03
哪张时表是不是咱们那个订单实施表,是跟活动维度表有关系的。还能想起来吧,是不是咱们订单可以参与活动啊啊,那订单事实表跟活动维度表,那他们的关联字段是哪个。关联字段是哪个?是不是应该是activity Di ID活动ID啊,对不对?来一个订单啊,我需要告诉他你参与的活动是哪个,对不对,而且是只有一个字段,就是activityd啊,那这层关系咱们是从哪拿到的,是不是从咱们activity order这层这里边拿到的呀,对不对?那相当于是这个订单参与了这个活动,这个订单参与了这个活动能看懂吧?啊,是这样的啊,也就是说我们订单跟活动只能靠activityd进行关联。啊,那咱们把这个情况先明确了啊,那明确之后呢,那咱们先来分析这个问题,假如说我现在有一个订单实时表,然后呢,我这里边有一个活动ID,那我需要去看一下这个活动ID所指代的那个活动的信息,那你是不是需要拿着这个活动ID去活动维度表当中去join啊这套数据啊,对吧?结果呢,你拿着一个活动ID等于一啊这样的一个ID去找了,结果呢,你在活动维度表当中会找到几个一号活动啊。
07:19
是不是三个呀,对不对,那这样一来你照的时候,那是不是咱们这个就会出问题啊,那我到到底照哪一条呢?不知道是不是会出现这样的一个问题啊啊,那其实这个这个问题,其实这这个你要是说的专业一点,这是什么问题啊。啊,说的专业人是什么问题啊,这就是你的事实表啊,跟你的维度表呢,其实相当于什么不一致啊。是不是这个相当是一个力度不一致啊,对不对啊,像力度不一致啊,那你就会导致这种问题,那正常情况下,我从事实表当中,我拿一行数据去照应一个维度表的时候,我只能照到几条才是正确的呀,只能照到一条这才是准确的,但你这儿照应到多条,那这就出问题,嗯,所以说那咱们这儿呢,是不是就没有让它照上去啊,所以说我们只保留谁只保留个I的in缝,就保证我们的实时表跟维度表照的时候呢,只能照到一条啊,这是咱们这儿这么做的原因啊,那当然咱们这儿也是没有办法,因为我们这个数据是不是根本就啊,就是只是跟这个活动ID,根据活动ID去照,我我我只能这么去做啊,那我现在问大家一下啊,那假如说我现在需要解决这个问题。
08:27
这咱们这并没有解决它,咱们只是怎么做的呀,咱现在只是逃避了,对吧?啊,你照应到一起有问题我就没有照,那咱们并没有,咱们只是逃避啊,那我现在就要假如正面解决它,你说这应该怎么解决呀。啊,应该怎么解决啊,那你要真想解决的话,那这边我肯定需要怎么做,需要是不是得有IQ的引O跟IQ入它,这是不是肯定得照应到一起,对不对啊,那我的实时表我跟他照的时候啊,那我怎么样才能保证我每次照只能照到一条呢?怎么做呀,其实正常应该是这样的啊,你一个订单参与一个活动对不对,你是不是肯定参与的是某一个优惠级别呀,对不对,大家都知道一个活动啊,我肯定有多个优惠级别,但是一个订单参与的时候,你是不是肯定参与的是某一个级别,我可能是,哎,这个满100减五,我也可能是满200减这个15,我是不肯定是某一个优惠级别,那所以说这边你要真的想解决的话,你应该怎么办?应该在业务系统当中去获取你这个订单,它所参与的活动,以及这个活动的优惠级别,你是不是得把这俩信息都获取到啊,那都获取到之后,那我们的订单实时表和活动维度表去关联的时候,大家说我的关联字段应该是几个呀,两个应该是活动ID加上优惠级别。
09:50
对不对,那换句话说,也就是我们活动维度表它的主见应该是什么呀。主件是不是就不是活动了,应该是谁活动ID加上活动级别优惠别能理解吧,啊应该这样去做,你这样去做,那是不是应该这个问题就是哎一个正确的解决方法了呀,啊是这样的啊,但是还是因为什么,因为咱们这个数据呢,是我们自己造的啊,这个业务系统咱们没有,那所以说这里边他没有考虑到这个优惠级别的问题啊,那所以说我们是不是拿不到订单和优惠级别这层关系啊,拿不到我们这块就没有办法实现了啊,那所以说最终呃在这儿呢,呃,咱们大家就呃知道这个问题怎么去解决就行了啊,因为咱们这儿确实没有办法拿到这层关系,所以我们只能是相当于逃避一下这个问题啊,就是咱们就不去和这个活动规则表进行join唤了,所以在这呢,我们就只保留了activity info当中的字段啊,是这样的。
10:44
啊好,那这一点咱们就解释完了啊,截完之后呢,我们再来看一下这个活动维度表的建表语句。来,咱把它拿出来。哎,加容语句很简单了啊,他是不是就直接从ods层呃,那个XQ引份当中去拿数据就行了呀,然后字段的都是一致的啊,就是这些,那然后呢,把这个前面这个装载数据这个搜看一下。
11:09
来回车啊,直接从ods层拿拿这个对应分区,放到对应分区就完事了啊是这样的啊,然后在这呢,就是想给大家再强调一点啊,强调一点,我们大家以后自己去做维度建模的时候,也是要注意一个点啊,就是你的事实表去照维度表的时候,你拿着一个维度外建去照这张维度表只能照到几条数据啊一条啊这才行啊,你照到多条呢,那肯定是有问题的啊,是有问题,这个大家注意就行了啊OK,那这是我们呃这个呃,商品维度表啊,这个活动维度表咱们就说完了啊啊,那我把视频录一下。
我来说两句