ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1407|回复: 2

[原创] 建模师日志:数据建模实战升级案例解析,销售与费用分析(模型补充)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-9-16 11:22 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖是针对 [url=建模师日志:数据建模实战升级案例解析,销售与费用分析 https://club.excelhome.net/thread-1599437-1-1.html]建模师日志:数据建模实战升级案例解析,销售与费用分析[/url] 的理论补充的纯文字思考,如果看的不明就里的话,请去看原帖的过程。并且本文不在配图,纯文字带过。毕竟我认为一个合格的建模师还是需要一定的想象力的。问题:在拿到具有分析需求的数据和报告的时候,不要着急钻入问题地方本身之中。思路:多数初学者,甚至是做BI的老手可能对于建模思维的掌握度是有限的,而且沟通和表达能力是不足的。这里十分幸运的是提问者给出了模拟数据,粗浅的能够看到问题的大概的方向。即在 省办 分类下的,费用选项中,需要计算 以 收入为分母的,各类费用的比率。所以整个度量被命名为 费比。再进一步的话就是 费比=费用/收入。那么针对他的结构,就需要从分析的角度试图把这两个角度能够协调起来。


问题:建模需要规范数据,但是规范的数据表和具体模型需要的规范表的距离还是有的。
思路:这里提问者给出的范例数据,如果从一般的角度看,其实属于十分规范的数据,虽然是2个大宽表,字段100+。各个字段的业务意义和分类也十分的清晰,基本上算是一个不错的数据源。但是并不代表这个就是可以直接建模的。我们构建模型的时候需要规范数据,但是规范数据的样式是结合模型需要来的。比如很明显,费用 和 销售 是两种不同的业务行为,并且存在一定的关联。但是在逐个解析的过程中,我就发现两者在数量级上存在明显的差异。行数差距十分的大。那么首要的感受就是,似乎两个业务的描述的颗粒度不在一个层面上。进一步的沟通也印证了,一个销售的发生,往往可能会涉及多条费用记录。那么销售的颗粒度要大于费用(销售 和 费用 存在某种近似一 对 多的模式,但是不能直接武断下去)。

问题:字段拆分之后,为啥是哪些给出的维度表和事实表?
思路:这个其实还是需要回到建模书的一些内容。当然在这里我首先会更前一步的来思考。大家认为Power BI是啥?我知道大家可能会有很多的想法。但是我会简单的描述成两个方面。1是PBI实际上是一个简易的数据仓库,基于KimBall的维度建模方式来作为核心方法论的。所以当年我写建模书的时候,没少翻对应的书,多数名词和方法论有借鉴作用。其次,Power BI的计算本质上是一种透视表,即所有的值,可以由矩阵或者透视表展现,我们无非就是去想想如何去透视,当然PowerPivot的是多表联立透视,而不再是传统的单表透视。这里的思维要改变。
因此结合上面的一个回答,比对了提问者的业务和数据,否决了销售表和费用表的简单追加成一个表的建模方式。那么自然是选择找共性和做多表建模。
那这个问题就是在确认可以确认的字段之后,去做归纳,分离其中的维度表和事实表。
下面是关键:
维度表是用于抽象和归纳事实表信息的,而且从建模的需要来看,需要一个主键来和事实表的外键进行关系创建。像本案例中,我们差不多是3个列为一组,凑成了一个相对关联点高的字段来作为一个方向的维度表。那么谁是主键?非重复项多可能是主键的表象,但是更多的可以用数据透视表,把这些个字段都丢到行字段里面去拖曳他们,去探索其包含关系来判断。最终的主键字段应该只需要他,就能进一步匹配出其他的信息。因此从原始数据中抽离3个(本例是3个)列用作某个维度表的时候,原始数据就可以删除2个非主键的列,保留一个外键列和维度表做关系即可。节约空间,还能更好看清关系的表达过程。
事实表则基本上会保留原始数据的大多数的行,但是通过剔除不必要的列来进一步优化。同时需要注意的是,正式的建模,我们做好关系之后,一般会吧外键列隐藏即可。当然实际的情况会复杂,比如本案例的主键天然不存在,需要多个维度列拼合来做技术上的键Key列,我修复之后是从事实表和维度表都隐藏,以便于分析的时候不妨碍观察模型。

问题:日期表在原始数据中并不存在,哪里来的?
思路:日期表确实是属于建模师自己硬加进去的,但是并不是没有理由的。首先看上去2个表的日期具有标记行为发生的具体日期的作用。并且明显从费用表里面看到日期已经跨年。在一般的业务场景下,时间智能的分析需求是普适的。所以增补日期表,还是作为标准化十分有必要的。
一个好模型,你完全可以设计的丰满一点。

以上差不多是我觉得需要补充和整理的点。不直接写在原帖里面,不妨碍看客看热闹。而这里则是留待建模师们思考。

成为一名优秀的数据建模师基本上意味着你能够将你的模型与众多已经经过透彻研究的经典模型进行匹配。因为你的模型和其他经典模型在本质上没什么不同。虽然你的模型通常有一些特别要求,但更多的可能是你的具体问题其实早已经有相应的解决方案。学习如何发现你的数据模型与示例模型之间的相似性虽有难度,但效果非常好。比如,业务中的大部分难题会在你学习数据建模的过程中迎刃而解。———————《Power BI权威建模指南》

TA的精华主题

TA的得分主题

发表于 2021-9-18 09:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-10-2 10:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 02:27 , Processed in 0.038096 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表