a left join b或 b right join a的a表,如何确定,有时也会犯迷糊,导致结果维度缺失。
今天分享两个原则:
一、高频的一个原则——维度表
维度表去left join事实表或结果表,dim表left join eve表或rpt表。通常的日期维度、地域维度、以及公司的各种业务维度。dim:维度表;eve:事件表;rpt:结果表。
这样可以保证维度数据都出现在最终的统计结果中(没有产生数据的多数是null值),不会丢失。
此前案例中出现过直接基于事件统计日报,发现有些日期缺失,就是这个情况,没有用日期维度去left join。
二、观察谁就以谁为主——视角
观察谁就以谁为主,就是观察的角度视角,其实也可以称作为维度。这样其实更符合日常工作中的数据分析需求场景。
比如,想看看日活的增长趋势如何?日活的,那观察视角就是日,每天,那就要用日维度去left join日志明细或中间表,抑或left join日活统计结果表。
比如,想看看用户的行为特征?用户的,那观察视角是用户,那就要拿用户维度去left join,否则会缺失很多用户,造成分析偏差。
看谁、观察谁、分析谁,对于这个谁的感觉要在工作实践中多体会,从上述两个原则出发,会大概率快速地就体会到的。