作者:李黎 更多内容详见数据中台官网 https://dp.alibaba.com
导读:之前给大家介绍了 Dataphin 的主题式数据查询的相关内容,今天就通过一个案例给大家带来一些基于Dataphin 提供的逻辑 SQL 进行主题式查询使用上的小窍门,希望能帮助大家更好的使用 Dataphin 进行主题式查询。
背景:某企业周年庆推出了一些营销活动,老板想查看一下各个门店的在这次活动中的营销效果如何,刚刚学会使用Dataphin的小D接到了这个任务,信心满满。整个过程分为数据准备、分析思路构建和执行(执行前进行基本的数据探查式分析)。
一、数据准备:
基于Dataphin的规范建模功能小D建立了如下图所示的逻辑模型,以活动为中心,同时关联了参与活动的相关门店信息。这样,所有需要分析的活动相关的数据基本上都已经在这个“活动事实表”中可以获取到了。
二、分析思路构建:
营销效果的分析,目的是客观呈现门店的情况,同时发现其中的问题。因此采用了总、分、对比及专项问题探索的方式进行分析。
1、总:对活动总体情况进行分析,宏观了解活动总体体量;
2、分:拆解至地域(省份、城市)、渠道(门店)、时间(各月份),进行细项的了解和查看;
3、对比:分析中常见的方式是横向对比(如门店间、城市间等)、纵向对比(时间趋势、同环比);
4、专项:定义潜在的问题专项,专题量化分析,如门店活动执行率优/劣、营收贡献度的情况;
三、执行:
在实际执行前,小D主要工作是进行数据的探查。这个时候就要发挥前面准备的数据逻辑表的威力啦!
几秒钟的功夫,想要的数据就已经获取到啦!小D心花怒放。
这里小编追加给一个小窍门哦!
考虑到逻辑表的字段很多,且是星型模型的,Dataphin 逻辑 SQL 对逻辑SQL的SELECT 进行了一定返回结果字段限制,即:SELECT 只会返回当前逻辑表主表的字段(当前例子中是活动事实表忠心部分的内容),不会返回引用表(当前例子中的活动维度表)的字段。
如果要查询引用表字段,可以通过这样方式:
2、接着,小D决定对活动执行率进行专项分析下:查询浙江省今年8月份,实际做活动产场次小于计划活动场次的门店情况:
这里小编再给一个窍门哦!
逻辑表通常是通过星型模型进行组织,所以使用中可以从一张逻辑表出发,通过引用关系访问其他多张表的字段。
比如小D想获取 dim_shop 维表中的店铺信息,通过关联查询语句 a.dim_shop.xxx 就可以直接查询得到。
要注意的是,引用逻辑表的访问,采用的是角色名而不是逻辑表名,dim_shop就是角色名。类比面向对象方法,一个对象有多个实例,在Dataphin中,逻辑表就相当于对象,角色则相当于实例。因为有可能多个字段引用了同一张逻辑表,而逻辑表含义(实例)其实已经不同了,因此需要通过角色来进行区分。比如:交易活动中,买家和卖家的基本信息都是来自会员表,那么会员表就会在这个逻辑模型中出现两次,一次角色为买家表、另一次角色为卖家表,其中涉及的字段都是一样的。
于是只用了几分钟,小D又完成了一个分析指标。还好之前认真看了用户指南,现在查询起来手到擒来,小D暗喜。
3、最后,小D 决定对活动销售金额贡献度专题分析下,查询 19 年 11 月上半月门店销售额大于1万所在的城市情况:
如果没有在Dataphin中建好的逻辑模型,小D需要执行如下 SQL语句获得结果:
这里小编再给一个窍门哦!
需要注意的是关于时间分区的使用:
如果查询语句中显式指定分区,Dataphin 会按照分区进行对齐查询这个逻辑表对应的各项数据的时间分区;
如果没有指定引用表分区(主表分区必须指定),将出现数据关联暴涨、数据倾斜等可能影响数据查询结果或查询时间的情况,所以我们提供了分区的默认指定(引用表默认分区规则:主表分区限定的最大值;如本例中,默认用了主表分区最大值'20191115')。
对比下来,效率真是提升了不少呢,出错几率也大大降低了。
接下来,小D针对探索的数据情况,将进行系统性的数据查询和数据分析报告撰写啦!
最后小编再给一个窍门哦!
Dataphin的逻辑表打通阿里云BI工具Quick BI的功能即将上线,探查完数据后,分析可以到Quick BI中拖拉拽、可视化地完成,导出报告递交老板,效率杠杠滴!!
欢迎大家跟小D一起来体验Dataphin,在业务场景中使用上述小技巧,提升研发效率、探索数据价值哦~
更多内容详见数据中台官网 https://dp.alibaba.com