前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个简单的学历排序问题,隐藏3种建模思路 | PBI实战

一个简单的学历排序问题,隐藏3种建模思路 | PBI实战

作者头像
大海Power
发布2023-09-09 09:13:11
3280
发布2023-09-09 09:13:11
举报
文章被收录于专栏:用户8950297的专栏

小勤:上次的【人力资源HR-人员结构分析案例模板】里,学历没有做排序。

大海:一般来说,对于饼图或环形图,会以占比进行降序排序。不过,这里的学历本身的确无法按照高低进行排序。

小勤:那如果要按学历本身进行排序,该怎么办呢?

大海:如果只是满足学历排序很比较简单,做好辅助列,然后设置按列排序即可。但是,仔细想想,这一个小问题,其实可以用3种方法来实现,不同的方式,体现了不同的数据建模思路。

数据下载链接:https://t.zsxq.com/05UrZzjm2

- 1 -

直接增加自定义列

Step-01 在Power Query里,直接添加自定义列,得到与学历对应的学历编码列:

代码语言:javascript
复制
= if [学历]="文盲" then 0
else if [学历]="小学" then 1
else if [学历]="初中" then 2
else if [学历]="高中" then 3
else if [学历]="大专" then 4
else if [学历]="本科" then 5
else if [学历]="硕士" then 6
else if [学历]="博士" then 7
else if [学历]="博士后" then 8
else 9

Step-02 在Power BI界面,设置按列排序

- 2 -

建立单独学历编码表

合并查询到数据表中

编码表不加载到模型

Step-01 输入数据,得到学历编码对照表

Step-02 通过合并查询的方式,将学历编码匹配合并到员工信息表中

Step-03 取消学历编码表的加载

Step-04 在Power BI界面,设置按列排序

- 3 -

建立单独学历编码表

编码表加载到数据模型

建立表间关系使用

Step-01 按方法二的步骤先建立学历编码对照表

Step-02 在Power BI关系视图中,建立学历编码表和员工信息表的关系

Step-03 针对学历编码表(注意不是在员工信息表)中的学历设置按列排序

Step-04 注意,在图表中应用时,要使用学历编码表中的“学历”字段

小勤:对于方法一,添加自定义列是在Power Query中做的,能不能直接用DAX做?

大海:不可以的,因为你新建的列是完全根据原列建立的,当你设置按列排序时,一定会遇到以下循环依赖问题:

小勤:难怪说尽量通过Power Query整理数据/增加必要的列,DAX还是更适合后续模型中的动态计算。总的来说,每一种方法看起来都很简单,但是,这几种方法该用哪一种好呢?

大海:每种方法都有它的特点和优势,实际工作中根据需要选用。

  • 方法一:简单,方便,写完即用。
  • 方法二:稍显繁琐,但是,如果有新增的类别,比如说,如果某天增加了“职中”的学历类别,那可以直接在学历编码表里调整即可,而且,因为编码表不加载到数据模型,所以在Power Bi的模型和表结构里也不会显得杂乱。
  • 方法三:完整的关系建模方式,操作上较为复杂一些,而且,如果类似的编码表或基础数据多时,整个模型将显得更加复杂。但是,这个方法可以满足一些特殊分析要求,比如,还有更多的表都有学历字段要进行分析,或者,要求对员工中不存在的学历也要显示结果(如显示未0):

小勤:那实际工作中,对于类似要对照码或还有其他属性分析的模型,一般建议用哪一种?

大海:实际工作中,我一般偏向于用第二种,通常来说,要做类似上面的特殊分析或展示的情况不多,所以,常规分析情况下,我们把这种简单对照维度,合并查询到业务数据表中,直接使用即可,而不加载该表,也能减少加载到Power BI模型的表太多,同时在模型中保留表(不加载),又可以加载出来,构建关系去实现特殊的需要。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档