00:00
咱们看这个所谓的聚合组,Aggregation group aggregation group啊,好,那这个什么叫做aggregation group,什么叫聚合组呢?下边是不是有这么一大段的文字介绍啊,对不对啊,这个不用看,咱们就看一句就行了啊,就第一句啊,后边全是废话啊呃,咱们看这一句啊,聚合组呢,是一种强大的减脂工具啊,什么叫减脂?剪枝应该都知道是吧,剪枝这谁干的活,园丁干的活对不对,所以剪枝就是把那些比如说这个花花草草那个就是呃,那个没用的枝干是不是给他剪一剪,修一修对吧,这就所谓的剪枝,那咱们在这儿这个所谓的剪枝,那剪的应该是啥呢。减的应该就是go boy。啊,也就是说这个聚合组它所优化的也是什么呀,优化的也是计算,也是为了加快计算,减少计算量的啊,那它这个所谓的没用的qbod指的是什么呢。大家来一起跟我思考一下啊,因为我们现在是麒麟这个原理是预计算对吧,那预计算我本来就应该怎么办,是不是满足你后续所有的这个可能性,我需要把所有的可能性都得给你清洗出来啊,对吧?但其实你这个所有的可能性啊,也是你所有的维度组合当中,很有可能有某些维度组合根本就没有实际意义。
01:18
对不对啊,那这种没有实际意义的这个东西啊,你是不是聚合了之后,我根本也不会查呀,对不对,那像这种东西是不是就是相当于咱们所谓的那种没用的qbo的呀,对不对,这种没用的qbo呢?我如果说能够提前把它识别出来,我不让他算了,你本来后期也不会用它嘛,那你是不是就能够减少这个计算量啊,能够加快计算,这就是局合组它所要实现的这个目标。这是他的目的啊好,那接下来我们来学一下这个所谓的聚合组啊,都有哪几种,一共三类啊,一个是强制维度啊,一个呢叫做层积维度,一个叫做联合维度,这个看着挺吓人啊,这个一个都不知道是啥是吧,那没关系啊,这个你把PPT一点就明白了啊来我们先看第一个强制维度啊,来我们点开。
02:06
它其实有有些有些时候大家觉得这个东西难啊,可能仅仅是什么啊,仅仅是那个说那个名词你不知道啥意思对吧,但其实你只要把这个原理搞明白了,其实没啥,就一层窗户纸,只要捅破了一下就明白了啊啊,那咱们看这个所谓的强制维度是啥啊来。好,那现在假如说我们不使用这种聚合组啊,不使用强制维度这种类型的聚合组,那你说我们这儿如果有ABC3个维度,那我所有的维度组合应该有几种?七种二的三次方减一是不是还是那个公式啊,那哪七种啊?Cacb CA ABC是不是这七种啊?那什么叫强制维度呢?所以强制维度啊,就是说OK,我后期我进行这个分组统计的时候呢,我分组的字段我一定会有某一个或者是某两个字段,我一定会有它啊,我一定会观察这个A字段和我那个度量值的关系,我一定会有它。
03:06
啊,那这时候你就可以把谁啊,把这个A设为强制维度啊,那设为强制维度之后呢,那相当于我这个B后期会有吗?不会,那C会有吗?不会,BC会有吗?也不会啊,为什么?因为他们是不是不包含这个A呀?啊不包含A的,我后期我根本就不会用啊,那所以说这时候假如说我们将A设成强制维度,那最终我们剩下的维度组合呢,就只有这几个了,没有A的,那就不会再计算了,因为我后期用不到啊,啊因为咱们这儿有一个前提,就是说我后期我进行分组的时候呢,一定会有A这个字段。啊,它是有必然联系的啊,我肯定会跟A有关系,那所以说这时候你就可以将A设为强制维度,那至于到底将哪个字段设成强制维度啊,这这得根据什么来啊,是不是根你具体的这个这个业务来呀,对吧?啊得根据你具体的这个业务线来去判断了啊是这样的啊,那这就是所谓的强制维度,那是不是能够减掉一部分没用的呀,这很简单啊,那就来看下一个,下一个呢是层级维度。
04:07
啊,咱们看这个层级维度,什么叫层级,什么叫层级啊,其实层级这个概念应该很好理解啊,对吧?咱们举一个呃,最常见的例子,咱们回忆一下啊,我们是不是有一个时间维度表,时间维度表对吧?时间维度表当中呢,我们有三个,呃三个字段,一个是年,一个是月,一个是日,对不对?那年月日他们是不是有层级关系,年月日是不是有层级关系?对不对啊,你看看这三个字段啊,我们去使用的时候,一般情况都是怎么使用啊,那比如说我现在呢,想获取具体某一天的数据,你说应该是怎么怎么获取啊。获取某具体某一天的数据怎么获取?你应该是不是得指定是哪一年的哪个月的哪一天,对不对,这是具体某一天对吧,那我要想获取具体某一个月的呢。
05:00
应该是哪一年的哪一个月吧,是具体某一个月对不对,那具体某一年的呢,直接就是年份是不是就行了,对不对。那你使用这个年月字段啊,你除了有这样的三种场景,你还有其他场景吗?你无非就是获取某一天,某一个月,某一年,是不是就是这么去使用啊,对不对,那所以说呢,你想一想啊,那我们这个这个对于这三个字段啊,对于对于这三个字段,如果说我们是普通的这个,呃,进行这个构建的话,那它应该有几种情况,几种组合。23方减一是不是七种,但其实这里面有用的只有几种啊?是不是只有这三种?那另外那四种是不是没有意义?另外四种分别是哪四种啊?咱们举个例子,比如说Y,然后杠D。就是2020年五号。是不是听着就很就很就就就很滑稽啊对吧,2020年五号啥意思啊,哪一天啊,到底对吧,是不是根本就没有任何意义啊对吧?那所以说这样的维度组合呢,本身就没有意义,没有意义的话呢,我们就可以不用计算对吧?本身你也不会用它嘛啊那这就是所谓的层级维度啊,像类似这样的层级维度其实有很多啊,有很多,还有谁呀。
06:10
比如说省市区啊,省市区啊,还有什么一级部门,二级部门,三级部门,对不对啊,这都是有层级关系的啊,你比如说咱们这个省市区,省市区,咱们想想啊,省市区哎,省市区,比如说我现在想获取具体的某一个区,那你是不是必须得告诉他是哪个省的哪个市的哪个区,对不对啊,要举个例子啊,比如说朝阳区,朝阳区是不是咱们北京有朝阳区,哪还有一个朝阳区啊?东北是不是也有一个长朝阳区,辽宁是不是也有一个朝阳区,对吧?呃,你就是朝阳的是吧?呃,那个抖音上不是有一个谁,那个东瀛怪哥是不是就是朝阳的呀,对吧?啊他他他就是相当是他是东北的朝阳区吧,所以说你光光有一个区,你是不能准确的定位他到底是哪个省的哪个市的哪个区的,所以说你要明确一个区必须得带着省市区啊,是这样的啊,那所以说那这个都是同样的道理,同样的道理啊,那大家把这个能搞清楚就可以了。
07:08
好,这就是所谓的层级维度啊,层级维度啊,好,你其实可以得到一个规律啊,那咱们这种层级维度什么样的这个组合是有意义的呀。小二的组合是有意义的呀。首先层级,你必须得把这个层级的顺序找出来,比如说这是高级,这边是低级啊,是不是这个所谓的层级由高到低对吧,那什么样的组合是有意义的呀。是不是都得从最高维开始,从从最高级的那个那个维度开始啊,从高级,然后呢,往下走往下走啊,这是三个级别都有的,那这是前两个级别,那是最高级别,是不是就是这样去啊去去使用的呀,只有这样的维度组合是有意义的,其余的组合都没有意义。啊啊,那这就是所谓的层级维度啊,行,那接下来咱们演示一下这个效果啊,那还是这样的ABC3个维度啊,如果没有使用层级维度,那一共几种组合啊,是不是还是七种,那假如现在呢。
08:01
AB有这个层级关系。啊,AB有层级关系,那你说这里边儿哪些维度组合会被优化掉啊。首先咱们先说AB有层级关系,A是较高的那一级啊,A是高级,B是低级,那你说他们这个有意义的组合应该是谁呀?应该是AB或者是啥。或者是AB对吧,咱们就光说AB先不是C啊,就是AB这俩有意义的组合是不是就是AB或者是AB对不对啊,B是不能单独出现的吧,对吧啊,那所以这里边儿没有意义的就是谁可以去掉谁啊。B能不能有?这不能有吧?A,能不能有?哎,可以吧,对吧,那C能不能有。C可以啊,C跟AB有关系吗?没关系啊,所以说我可以有的,那AB有能不能有这可以AC呢?可不可以也能啊,对吧,那BC行不行。BC不行啊,B没有A对吧,因为AB这这俩东西要么是AB要么是A,对不对,那你这直接出来个B是不行啊,那这个没有意义,那这个呢,ABC这是可以的吧,那所以说我们如果说设AB为层级维度之后呢,我们所剩下的维度组合就只有这几个了啊,这就是所谓的层级维度啊,那这个还是比较有用的,它是不是能够减掉一部分没有意义的组合呀?啊好,那这个完之后呢,咱们往下走,下面最后一个联合维度,联合维度呢也很简单啊,来咱们看一下什么叫联合维度啊。
09:27
所谓的联合维度呢?就是将若干个维度当成一个整体,这就是联合维度啊,要么同时出现,要么同时不出现啊来啊酶如果不使用联合维度,咱们三个维度还是有七种组合啊,那假如现在我将AB作为联合维度,那AB就是一个什么?它就是一个整体了啊,就是要么同时出现,要么同时不出现啊,那这时候呢,我们只剩下谁了呀。是不是只要这三个了呀。对吧,只剩下这三个了啊,那这就是联合维度,那如果咱们后期呃,具体的这当然也得视具体业务场景而定啊,那如果说我们呃,有两个维度,那必须绑定在一起啊,它如果单独分开之后呢,没有任何意义,那OK,你就可以把它设成联合维度,那这样一来也能够极大的减少计算量啊,是这样的啊好,那这个呢,就是我们这个维度组合啊,聚合组,这就是咱们的聚合组啊aggregation group,好,那这个东西咱们三种已经讲完了,那这个东西到底怎么用啊,到底怎么配置啊,对吧,怎么配啊,是不是在咱们页面上配就行啊对吧?那咱们接着往下走啊,那选完dimension,选完measure,咱们接着往后走,那那再往后走。
10:34
Next再往后走,是不是来到advanced setting了呀?高级配置,高级配置当中咱们的第一项就是啥?Aggregation group是不是就聚合组啊?来,我们看聚合组到底怎么配啊?就看这就行了,首先先看第一个。Include include什么是,是不是你当前这个Q吧,所包含的所有维度啊,你可以观察呀,它现在所有维度只有啥。
11:00
是不是只有事实表当中的那几个外键呀,对不对,这个为什么只有只有外键,这咋回事啊?是不,因为咱们这我这个Q是哪个Q,是咱们那个衍生维度那个Q啊,对吧,因为我前面所有的维度表当中的维度选的都是衍生维度,这个已经告诉大家了,你选衍生维度真正参与计算的有你的,有你那些维度吗?没有而是谁,而是你那个外键,这是不是印证了刚才咱们的说法啊,啊,这个当然不是咱们现在重点,咱们现在重点是啥?哎,是这个聚合组,对吧?这就是你那三个聚合组,一个是mondetatory dimension,这就是强制维度的意思,那hierarchy dimension,这就是衍生维度啊,不是什么衍生层级维度层维度啊,好,那最后一个joint dimension,这就啥呀。聚这个这个联合维度啊,联合维度啊,Money就是强制的意思嘛,你可以翻译一下啊,来走啊,这个网不行,翻译不出来啊,这个强制维度啊,那这个怎么去选这个强制维度呢?直接在后边点就行啊,比如说我这个字段要作为强制维度,是不是选在这就可以了,那后续是不是没有它的,是不是全部优化掉了呀?啊这是它那下一个呢,层级维度,层积维度啊,这个怎么选。
12:10
你看后边有有按钮对吧,是不是有new heary啊,那点点完之后是不是出来一列,那这个出来一行,那这个怎么选,你比如说啊,我现在前面三个字段对吧,比如说我这这个字段和这个字段我是层级关系,那这个怎么选。你是在一行里边选这俩字段,还是在两行里边选这俩字段?那怎么选,你说第一个选过来,我是再来一个呀,还是直接在上边选呀。在上面选啊对,在上面选,为啥,那这个我这两行呢,是啥意思呢。哎,对,两行指的是多个层级关系,我可能AB是一个层级关系,我可能CD是另一个层级关系了,对吧,一个是年月日,一个是省市区,是不是可能是有这个多个层级关系的呀,所以这边呢,你可以选俩啊,呃,一行就是一个层级关系,这个大家搞清楚啊啊,那这边咱没有就不选了,那下面最后一个是joint dimension,这是不是就是联合维度,连维度的,同样你也可以有多个联合关系,你可以有AB联合在一起,也可以将CD联合在一起,对不对,你可以有多个联合关系,能理解吧,那这就是咱们这个聚合组的这个使用啊,其实不难啊,其实不难,好,那这个完事我把视频录一下啊。
我来说两句