数据分析学习Day6---数据可视化(BI)

前言


BI全称商业智能(Business Intelligence),在传统企业中,它是一套完整的解决方案。将企业的数据有效整合,快速制作出报表以作出决策。涉及数据仓库,ETL,OLAP,权限控制等模块。

今天的学习我们只着重于数据分析过程,使用Power BI打造数据分析师Dashboard报表。

Power BI 下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=45331

什么是Power BI


BI工具主要有两种用途。一种是利用BI制作自动化报表,数据类工作每天都会接触大量数据,并且需要整理汇总,这是一块很大的工作量。这部分工作可以交给BI自动化完成,从数据规整、建模到下载。

另外一种是使用其可视化功能进行分析,BI的优点在于它提供比Excel更丰富的可视化功能,操作简单上手,而且美观,如果大家每天作图需要两小时,BI会缩短一半时间。

BI作为企业级应用,可以通过它连接公司数据库,实现企业级报表的制作。这块涉及数据架构,就不深入讲了。

Power BI是微软家的。如果大家熟悉Excel,应该会知道微软推出的Power Query、Power Pivot、Power View和Power Map,是Excel上非常强大的四个插件。Power BI则是微软将它们作为集合推出。

Power Query是用于数据提取、整合、搜索的插件。它偏向数据模型的建立,而不是单元格的使用。

Power Pivot是数据透视表的高级应用,使用DAX能进行大量的科学计算。性能方面,比Excel函数要快两个量级,百万级的处理不成问题。

Power View是图表的高级应用,实现了过滤、联动、拖拽等功能。

Power Map是可视化地图。

如果大家熟练掌握以上四个插件,那么在Excel上也能实现部分BI。毕竟Excel是企业中人手一款的工具,和BI相比有轻量级的好处,虽然数据分析师需要掌握的工具更多。

BI的步骤


市面上有很多丰富的BI工具,Tableau,QlikView,BDP等,各有侧重,也各有价格。但是操作过程都是相似的,大体分为五个步骤:数据源读取、数据清洗、数据关联、图表制作、Dashboard整合。熟悉了其中一个,再学会另外的就不难。

数据源读取

界面和Office软件比较接近。上面是操作工具项,左侧栏是导航栏。

Power BI 的左侧导航栏对应三个模块:仪表板、报表和数据集。仪表板或报表需要数据才能操作,我们先读取数据集。

点击工具栏的取得资料(奇怪的翻译)

Power BI支持各类丰富数据源(市面上绝大部分BI都支持,只是读取方式略有差异),除了Excel和CSV 文件,它还支持Acess、SQL数据库、Hadoop/HDFS、Spark、第三方API等。

这里可以针对数据编辑,先略过,选择载入。

自动跳转到数据报表页,数据报表(Report)是数据规整和清洗过程。

数据清洗

Power BI有一个高级功能叫DAX(Data Analysis Expressions),它是整个 Power BI 使用的公式语言。

DAX近似Excel函数(大多数第三方BI,函数均接近Excel),故它针对新手非常友好。如果大家已经熟悉Excel函数,上手速度会很快。基本上函数名字都一样,如果不熟悉,可以查阅官网提供的文档。

我们先清洗报表中的薪水salery,和实战篇过程一样,需要将其拆分成两个新列,并且计算平均值。

点击模型项的新建资料行(这里的翻译应该不对,应是column列,后文我都用列表示),此时新增加的列没有任何内容。我们需要做的操作就是以salery生成两列。

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

='Table Name'[ColumnName]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如果是订单、用户行为、用户资料等大量数据,一般会以分组形式进行计算。不同分组字段,会生成不同的维度,像范例中的城市、工作年限,教育背景都是维度,也是图表的基础。如果生成的维度足够多,我们能利用维度组成数据模型,这是OLAP的概念。

除此以外,也能利用过滤直接筛选数据。我们选择出含有数据分析、分析的数据。排除掉大数据工程师等干扰职位。

这里支持多条件复杂逻辑筛选。

到这里,我们已经完成实战篇中的清洗过程中,我这次简单化了。以上步骤都能通过右侧的套用步骤还原和撤销。这里不会出现bottomSalery这类列。

图表

进入图表设计阶段,点击侧边栏第一个项。BI比Excel好的地方在于,它只要拖拽就能设计和生成。

点击任一图表,画布上会自动生成图形,要切换图表类型直接点击其他即可。我们把城市和平均工资拖拽到视觉效果下的栏目,它会自动生成图表。不同图表需要的维度、轴都不一样,具体按提示进行。

点击新增视觉效果(继续吐槽翻译),可以继续在画布上增加图表。绝大部分BI,都是支持联动的,所谓联动,通俗讲,就是点击图表上的维度元素,其他数据也会按此维度相应变化。

上图就是一个很好的联动例子,点击城市维度的北京,其他图表都变了,平均工资由14.23变成15.23。而学历则变成突出显示,显示出了北京的博士们薪水远高于平均水准。

图表联动带来更好的数据洞察,将不同数据维度的组合和选取,为分析师带来决策能力的提升。当然我最喜欢的特点之一是省时间。

通过不断的图表组合,就能生成数据分析师自己的分析画布。这块画布叫作Dashboard。当然图表好看与否,就取决于分析师的设计品味了

作品

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容