c语言sscanf函数的用法是什么
614
2022-11-19
构建数仓指标体系4:理解原子、派生、复合指标(2/3)
在正式开始讨论原子指标、派生指标、复合指标的拆解前,先铺垫两个指标的基本知识
四、两种常见的统计指标类型
为了使大家更好地理解,先上一个示意图:
(图一)
其实指标有两种,一种是统计记录个数,一种是统计某个字段的聚合后累加数(比例类,即复合指标除外)。
统计记录个数:指通过筛选条件,在某个数据表中,统计某个实体的记录数量。如统计会员等级是A的会员数量、统计注册时间大于2020年的会员数量等。如果是技术上表示,就是:select count(*) from users where 会员等级='A'。这句查询语句,如果翻译为业务能看得懂的指标,应该可以叫作:A级会员数。
统计某个字段的聚合总数:在统计记录个数的基础上,统计某个字段的聚合后总量。如统计会员等级是A的会员余额、统计注册时间大于2020年的会员余额。如果是技术上表示,就是:select sum(账户余额) from users where 会员等级='A'。这句查询语句,如果翻译为业务能看得懂的指标,应该可以叫作:A级会员账户余额。
如果是懂技术的话,看查询语句的颜色,已经能大概猜到原子指标是啥,大概知道怎么拆解和使用了...
五、识别指标的粒度
首先看看我在真实的项目过程中,业务部门的一些输出,下面是业务部门需要我们实现的内容:
(图二)
回想一下,前面文章我们提到指标的定义,从业务和技术视角,是怎么说的:
业务上:指标是对业务上度量,可以是度量绩效、可以是度量经营过程,也可以度量其它;
技术上:指标是统计数值,第一是要统计,第二是要数值(比例也算,如同比)。
上述两个业务部门需要实现的指标内容,在业务上均是一种度量,而且在技术上都是累加的统计数值,但这两个需要实现的内容,真的是一样的指标吗?
从真实的ADS报表看上面两个业务需求,其最终输出形式应该是类似下面的状况:
人工开方数报表:
(图三)
新增备案营销员项目数量报表:
(图四)
大家有没有看到两个报表的差别?一个报表第一列是医生ID,一个报表第一列是日期,这代表什么?
人工开方数指标:统计实体下的每天开方数量,粒度已经具体到某个实体,一般用于绩效考核与标签画像绘画新增备案营销员项目数量指标:一个群体的统计分析,粒度是整个企业,用于反映整体的经营状况等的指标
可以看得出来,两个报表是没办法合并为一个报表做展示的,因为大家的粒度不一致。再回想前面的文章,造成粒度不一致的原因,是因为度量的维度有差异所致。所以,指标的粒度,受维度(粒度)约束,当维度一致时,相关指标可以放在同一个报表,当维度不一致时,相关指标无法放在同一个报表。如现在业务部门要求新增一个指标,叫“项目数量”,我们可以在图四中进行扩充,但却没办法在图三中进行扩充,如下图:
那维度粒度不一致时,报表可以合并吗?答案也是否定的。
如有两个报表,一个是统计城市的项目数量,一个是统计省的项目数量,由于维度的粒度不一致,也无法将两个报表进行合并。
因此,我们可以得出一个结论,当维度及维度的粒度一致时,指标可以放在同一个报表中,即指标的粒度也是一致的,这也是维度建模中一个重要的理论:一致性维度(Conformed Dimensions)
经过这么多铺垫,相信同学们都已经有个初步的概念了:
指标用于度量业务指标是一个统计数值,而这个统计值与维度(粒度)相关
如上面的例子:select count(*) from users where 会员等级='A'
count(*)就是统计值,会员等级就是维度(希望大家不会看不明白这个SQL语句...)
给一个思考题:上面的语句,黄色的部分及橙红色的部分,与原子指标、派生指标有何关系?
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~