Power BI入门教程

题记:那篇作品不仅是Power BI的入门教程,同时针锋相对于Qlik
Sense进行了大概相比。

多年来把三个Qlik Sense的言传身教应用手动转成了Power
BI的选择,把有关手续和碰到的题材记录如下,权当作3个入门教程。

1,准备原始数据

出于Qlik
Sense的言传身教应用唯有多少个单身的qvf文件,那么原来数据唯有经过qvf来导出。此qvf中的数据模型如下图所示:

SQL Server 1

Qlik
Sense并从未提供数据模型包涵数据的完整导出作用,所以只可以动用最麻烦和原有的方法,即:创造表格,在报表中丰盛某些数据表的具备字段,然后再使用可视化对象的导出功用导出数据为xlsx文件。通过那种办法,把持有表都导出。注:但在实操个中,未必全部表都导出,因为微微表能够在Power
BI中生成(比如日期表DateParts),有个别表在Power
BI中也用不到(比仲阳份顺序表Month Sort Order)。

自然,假使您拿得到原始数据的文本只怕数据库,那么就可以跳过这一步。

2,加载数据

那步相比较简单,在Power
BI中新建二个文档,通过“获取数据”-“Excel”来选拔须求导入的xlsx文件。

SQL Server 2

选取文件之后,会展现“导航器”对话框。在此地选拔需求导入的工作表(能够挑选多少个)。选用工作表之后,能够间接点“加载”,也足以点“编辑”来打开“查询编辑器”修改ETL脚本(当然在加载之后仍旧得以重新编写脚本)。假设直接点“加载”之后,Power
BI就会把挑选的行事表中的数目加载进来,这么些时候就足以在“数据”视图中预览在那之中的数码,右边的“字段”边栏也会彰显表及其包涵的字段:

SQL Server 3

那个时候,你会发现表名称是xlsx文件中暗许的Sheet1,修改表名称的最简便易行方法正是,在表名称上点右键选用“重命名”。其余,有些xlsx文件导入之后,数据也许会现出下边那种没有健康识别列名称的题材,那一个时候就必要使用“查询编辑器”中的“进步的题目”(把第壹行数据作为标题/列名)的作用:

SQL Server 4

“查询编辑器”是叁个无敌的UI操作界面,帮你自动生成Power
Query的M语言脚本,能够经过“高级编辑器”来查看各种表的Power
Query脚本。而Power
Query的首先步正是由此“源”和“导航”脚本来达成Extract-Load的步骤。对于Power
BI而言,Extract-Load可以兑现的力量有:

  • 从各项数据源中领到数额:各个文件、各种数据库、各样Azure的PaaS、各个联机服务和任何数据源(比如Haval脚本)
  • 对数据源的布局进行设置
  • 直接录入数据

3,转换和培育数据

在加载数据的经过中照旧以后,还足以继承利用“查询编辑器”来对加载的数额举办更换和培育(即Transform)。所谓转换和作育便是使用Power
Query的M语言脚本来对数码的加载进度,举行额外处理。作者大概把那些进程中Power
BI能提供的能力整理了弹指间:

  • 通用
    • 列的田管:选拔列、删除列
    • 行的军管:保留行(前后、间隔、重复、错误)、删除行
    • 排序:基于二个列或三个列实行沉降序
    • 统一数据:能够是联合数据(八个表提供差别的列),也得以是扩大数据(五个表提供分歧的行)
  • 转换
    • 表数据管理:对本来数据开始展览分组、进步第③行作为标题、行列颠倒、首尾行调换、对数码行计数
    • 具备列的处理:重命名列名、数据类型的自动物检疫查和测试和手动修改、替换值、填充单元格(上下多个方向皆可)、透视列(正逆多少个样子)、转换为列表(列表转回列)
    • 文本列的拍卖:拆分(分隔符、字符数)、格式化(大小写、首字母大写、修整Trim、清除非打字与印刷字符、添加上下缀)、合并、提取(字符串长度、首子字符串、尾子字符串、选定范围子字符串)、分析(从xml和json字符串中提取出多少)
    • 数值列的拍卖:聚合运算(求和、最大相当小、中值、平均值、标准不是、值计数、非重复计数)、标准运算(四则、整除、取模、除得比例、乘得比例)、科学生运动算(求绝对值、求幂、求指数、求对数、求阶乘)、三角函数运算、舍入(向上向下、自定义)、特征(奇偶、符号)
    • 时间列的处理:日期的处理、时间的处理、持续时间的拍卖
    • 协会化列的拍卖:扩张、聚合
  • 添加总结列
    • 正规:基于公式总括、基于自定义公式统计、基于条件判断总结、添加索引列、复制列
    • 据说文本列添加:格式化后、合并后、提取后、分析后
    • 听大人讲数值列添加:聚合运算后、标准运算后、科学生运动算后、三角函数运算后、舍入后、提取特征后
    • 依据时间列添加:日期处理后、时间处理后、持续时间处理后

从地点整理的内容来看,Power BI由于沿用了SQL
Server和Excel中早已存在的Power
Query,所以它的ETL效用依然不行有力的,并且差不离不用你手动编写ETL脚本即可完结复杂的ETL工作。

想对Power
Query的效果有详实精通的,建议查看Excel的文书档案:https://support.office.com/zh-cn/article/%E8%8E%B7%E5%8F%96%E5%92%8C%E8%BD%AC%E6%8D%A2%E5%9C%A8-Excel-2016-%E4%B8%AD-881c63c6-37c5-4ca2-b616-59e18d75b4de?ui=zh-CN&rs=zh-CN&ad=CN

4,建立模型数据

在完结数据的ETL之后,供给的步骤正是对数码进行建立模型。一般而言,在导入数据之后,Power
BI会依照字段的名号自动测算出表之间的涉嫌的。比如下图正是导入示例数据以往自动塑造的涉及图:

SQL Server 5

建立模型的劳作和ETL的劳作是七个例外的手续,即便有些功用达到的效益是相同,不过背后达成的机理是分歧等的。最引人注指标3个地点就是数据类型的修改,在询问编辑器中对数据类型实行改动会交替或发生新的ETL脚本,而在多少视图中期维修改数据类型不会潜移默化ETL脚本。

Power BI扶助的建立模型能力整理如下:

  • 管制关系:能够经过关系视图来可视化的拖动连线,也足以透过“管理关系”对话框浏览、新建、自动物检疫查和测试、编辑和删除关系
  • 论及:关系补助1:① 、1:N、N:1,关系筛选援助单向和双向 。
  • 公式计算:添加依照DAX表明式计算得到的衡量值(衡量值暗中认可放到当前选中的表当中,也足以归到别的表中),添加依据DAX表明式计算获得的总计列,添加依照DAX表达式计算获得的表
  • 排序:选用排序的列 。
  • 格式设置:能够安装列的数据类型(小数、定点十进制数、整数、日期/时间、日期、时间、文本、布尔值、二进制),展现格式(种种货币格式、时间格式、百分比、小数位数、科学计数等)
  • 性格设置:所属表(能够为度量值设置归属的表),数据分类(设置值的彰显特征,比如地址、Url、条码,能够方便让可视化控件更好的处理内容),暗中同意聚合格局(要不须求和等)
  • SQL Server,安全性:基于DAX表明式来设定什么角色能够查看什么数据,格外灵活的行级访问控制机制
  • 分组:那是怎么着鬼,笔者也还平昔不搞懂。 有知道的恋人期待不吝赐教。

在建立模型的经过中,尤其和公式总结有关的东西都涉及到数量解析表达式(Data
Analysis
Expressions,DAX)的行使,详细的认证能够参照MSDN官方文书档案:https://msdn.microsoft.com/library/gg413422.aspx

(updated
二〇一五.12.20)更完整的文书档案在此处:https://msdn.microsoft.com/en-us/library/mt244090.aspx

对此笔者的这么些示例,笔者实际接纳了之类两种建立模型能力:

  • 日子数据的格式改变:把长格式的日期字符串修改为短的 。
  • 种种衡量值的树立:小编的衡量值首要涉嫌一些求和、求平均、计数、变化率等。为了更好的军管衡量值,作者尤其新建了2个名为DetialsMeaured的表,公式为:DetailsMesured
    = ALL(Details[EpisodeID]),然后把树立的各类衡量值归到这么些表个中 。
  • 百分比率的格式化:求变化率的度量值,能够把显示格式设置为百分比,那么在放权可视化控件中就直接展现为百分比,无需额外设置可能乘100(我动用了三个第3方控件,其不只怕甄别百分比格式,只可以在心胸值上乘100)
  • 成立层级结构:为了协理数据的下钻突显,那么供给树立数量的层次结构,比如财政年度包括月份。要创制层次结构很不难,直接把一个字段拖动到其它三个字段下边Power
    BI就会自行成立1个新的层次结构列(包含了您碰巧操作的多个字段),接着能够继续拖入其余列到这几个层次结构列下边,还可以拖动来拓展排序。
  • 创造日期表:很多剖析都以和时间相关的,那么就必要有一张独立的日期表来为维度提供数据(包含年、财政年度、季度、月、日、天等)。原来的qvf中也设有那3个日期表,也是借助脚本生成的,对于Power
    BI而言同样也能够因而脚本来生成一个日期表。生成日期表的剧本如下:

DateKey = ADDCOLUMNS(
CALENDAR(FIRSTDATE(Details[EpisodeAdmissionDate]),LASTDATE(Details[EpisodeAdmissionDate])),
"DateAsInt",FORMAT([Date],"YYYYMMDD"),
"Year",YEAR([Date]),
"Quarter",VALUE(FORMAT([Date],"Q")),
"YearQuarter",FORMAT ( [Date],"YYYY" ) & "/Q" & FORMAT ( [Date],"Q" ),
"Month",MONTH([Date]),
"MonthName",FORMAT([Date],"mmm"),
"Day",DAY([Date]),
"WeekNum",WEEKNUM([Date]),
"WeekDay",WEEKDAY([Date]),
"WeekDayName",FORMAT([Date],"ddd"),
"Fiscal Year",IF(MONTH([Date])>3,YEAR([Date]) +1,YEAR([Date])),
"Fiscal Year Name",IF(MONTH([Date])>3,YEAR([Date]) & "-" & (YEAR([Date]) + 1),(YEAR([Date]) - 1) & "-" & YEAR([Date]))
)

把日子表添加到模型中后,就足以手动把日期表的Date字段和Details表中的EpisodeAdmissionDate字段建立其关系。最后的模子图如下:

SQL Server 6

日期表创设的越多详细介绍,能够参见那一个博客小说:http://kohera.be/blog/business-intelligence/how-to-create-a-date-table-in-power-bi-in-2-simple-steps/

5,可视化呈现数据

通过可视化控件来彰显数据没有太多能够说的。Power
BI的合法文书档案已经写的相比较好了,见:https://powerbi.microsoft.com/zh-cn/documentation/powerbi-desktop-report-view/

唯有正是把一个可视化控件拖到报表页面上,然后把所需的维度和胸襟拖到可视化控件中的数据标签页中的“轴”/“图例”也许“值”上面,如下图所示:

SQL Server 7

数据建立模型的时候关系过下钻突显。下钻展现有二种办法:一种采纳层级结构列,一种不采纳。

归纳说来,对于利用层级结构的措施,便是先创设三个层级结构列,然后把那几个列拖到“轴”下边,可视化控件就会在地点的操作栏展现用于下钻数据的一定按钮。如下图所示:

SQL Server 8

对此第3种下钻展现方式,作者没有使用,详细的证实能够见:https://powerbi.microsoft.com/zh-cn/documentation/powerbi-service-drill-down-in-a-visualization/

为可视化控件准备好数据之后,还足以经过“格式”设置标签页(即刷子状图标)来设置有个别显得格式,比如题目,字体,颜色什么的。

当数码拉长到可视化控件之后,这几个字段还会自动添加到视觉级别筛选器,除此之外,你还可以够额外把字段添加到页面级筛选器和报告级筛选器中。那么些筛选器的遵循范围一概而论应该能够清楚。

可是须要小心的是,筛选器在公开发表到Web后并不可知,所以您还足以单独在表格页面上添加所需的切片器。切片器的数据设置格局和任何可视化控件类似。

6,和Qlik Sense的比较

简易的相比下来(个人观点):

  1. ETL能力由于背靠SQL
    Server分析服务的相干技术,所以可以达成和Qlik特出,特别大致能够毫无手写脚本。
  2. 建立模型能力和Qlik十分,只是操作体验上会少了一些。
  3. 可视化能力比Qlik就差很多,不管是放手的可视化控件依然第1方扩张的控件都以如此。
  4. 前端操作(也即最后用户使用BI应用)的感受也比Qlik差。
  5. 扩充和购并力量也由于Power BI的一定决定了从未有过Qlik灵活。
  6. 最大的优势是入门的准许成本低廉(即使愿意利用SaaS的话)。
  7. 一大特征是兼具人工智能协助的飞跃见解能力。

Power BI在可视化能力方面包车型客车确须求更为增进,比如本人就赶上如下多少个难题:

  • 排序只好根据当前接纳的维度,无法自定义排序
  • 堆放面积图图例无法下钻
  • 并未竖条仪表图
  • 饼图不能够合并为Other
  • 报表不扶助下钻
  • (updated 二〇一四.12.20)货币格式的数值不能够显得负数

终极不得不吐槽下,Power BI的文档用机译固然了,感觉Power BI
Desktop的普通话版也是机器翻译的。还不如本人来翻译算了(作为MVP能够防费做进献)。

相关文章