加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据可视化:手把手打造BI

发布时间:2020-12-31 02:45:45 所属栏目:大数据 来源:网络整理
导读:本文是 如何七周成为数据分析师 的第六篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉BI,大可不必再看这篇文章,或只挑选部分。 我们上一篇 数据可视化:教你打造升职加薪的报表 教大家如何制作清晰美观的报表以及相应技巧

数据可视化:手把手打造BI

这里需要用到DAX。当成函数使用它就行,不过Excel是单元格级别的引用,而DAX中的任何引用、计算、汇总等,都是以列为单位的。


='Table Name'[ColumnName]


这是最简单的引用,Table Name是我们这张报表的名字,我载入的csv叫DataAnalyst,那么报表就叫做DataAnalyst,ColumnName是我们需要引用的列,名字叫做salary。下图公式就是范例。


数据可视化:手把手打造BI


如果表名中有空格,需要加引号,如果没有则不需要。如果是跨表引用,TableName是必须的,否则只需要ColumnName。DAX支持自动填充,可以通过模糊输入+回车快速输入。

我说过它近似Excel,那么Excel加减乘除的习惯可以直接使用在上面。


='Table Name'[ColumnName1]+'Table Name'[ColumnName2]*3


接下来继续清洗步骤,我们查找k所在的字符串位置。


=search("k",DataAnalyst[salary],1)


利用left函数截取工资下限。


=left(DataAnalyst[salary],search("k",1)-1)



搞定。资料行重命名为bottomSalery。接下来是工资上限topSalery,使用"-"截取的时候报错了。


=search("-",1)


检查一下发现原来是有“10K以上”这类字符串。DAX查找不到“-”,这时需要返回一个出错时表达的值。因为10k以上的描述无法确定工资上限,那么我们就把返回的值限定为bottomSalery。


在这里请记住,DAX的容错性比Excel低,只要DAX中有一行返回Error,那么整列都是Error。我们需要用Iferror函数保证容错性。


这里给出topSalary的计算,比较繁琐。


topSalery = IFERROR(mid(DataAnalyst[salary],SEARCH("-",1)+1,LEN(DataAnalyst[salary])-SEARCH("-",1)-1),DataAnalyst[bottomSalery])


数据可视化:手把手打造BI

之后新建一列使用(DataAnalyst[bottomSalery]+DataAnalyst[topSalery])/2 计算该岗位的平均工资。


大家看到这里,是不是觉得DAX公式非常长?新手可以多增加辅助列来进行计算。


Excel中有比较方便的分列功能,那么Power BI中是否拥有呢?答案是肯定的,右键点击列,选择编辑查询选项。



这里依旧吐槽翻译。分割资料行就是我们熟悉的分列功能。选择自定义,用“-”即可完成分列(原始数据会被拆分,所以建议先复制一列)。



实战篇提到过,我们的北京数据是有重复值的,那么我们通过positionId这职位的唯一标示,来删除重复项。右键点击移除重复项目即可。


我们再看一下查询编辑的其他功能。


分组依据可以认为是数据透视表。可以选择多个字段进行分组。对结果进行求和、计数等操作。


数据可视化:手把手打造BI


(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读