最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能决策

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

发布时间:2017-07-30 作者:佚名  来源:互联网
关键字:数据可视化 BI 
文章介绍了使用Power BI打造数据分析师Dashboard报表,重于数据分析过程。

    数据清洗

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

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

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

清洗报表中的薪水salery,将其拆分成两个新列

图5 清洗报表中的薪水salery,将其拆分成两个新列

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

以salery生成两列

图6 以salery生成两列

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

    ='Table Name'[ColumnName]

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

范例公式

图7 范例公式

    如果表名中有空格,需要加引号,如果没有则不需要。如果是跨表引用,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)

截取工资下限

图8 截取工资下限

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

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

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

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

本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。