Power Query从入门到精通
上QQ阅读APP看书,第一时间看更新

1.4 Power Query编辑器

在Power Query标准界面中,除了进行数据的导入之外,也可以实现很多其他的功能,这些功能的使用和调用需要进入Power Query编辑器界面才能完成。

在Excel中进入Power Query编辑器界面,需要在“数据”选项卡中选择“获取数据”→“启动Power Query编辑器”命令,如图1.11所示。

图1.11  Excel进入Power Query编辑器的方法

Power BI中的Power Query已经深度集成入产品,在Power BI中进入Power Query的方式与Excel会有很大的不同,直接在Power BI“主页”选项卡中单击“转换数据”按钮即可进入Power Query编辑器界面,如图1.12所示。

图1.12  Power BI 界面进入Power Query编辑器的方法

1.4.1 Excel的Power Query编辑器界面

在Excel中的Power Query编辑器界面中,可以进行所有的数据集成和清洗的操作。

1. 选项卡

在Power Query中有多个不同的选项卡,目前通过Excel的Power Query选项卡可以执行如下的任务:列的内容和功能转换、新建列、视图设置等。

2. 快捷菜单栏

快捷菜单栏将随着选项卡的变化而发生变化,它是不同选项卡下的快捷菜单。

(1)“主页”选项卡

在“主页”选项卡中包含了常规的执行操作,可以在“主页”选项卡中实现以下管理任务。

■ 行操作:针对当前数据表的行进行筛选或删除等操作。

■ 列操作:针对当前数据表的列进行添加、删除或新建等操作。

■ 排序操作:针对当前数据表进行数据列的排序操作。

■ 合并操作:针对当前的多个数据表进行数据合并操作。

(2)“转换”选项卡

“转换”选项卡是基于当前的数据表进行操作,目前Power Query提供的格式转换非常多,下面是部分操作任务。

■ 表格设置:基于当前的表进行各类不同的操作。

■ 列设置:基于当前数据表的列进行添加、重构操作。

■ 日期与时间设置:构建符合要求的时间表。

(3)“添加列”选项卡

“添加列”选项卡是在当前的表格中添加额外的列,能够添加的内容如下。

■ 自定义列:基于需求构建自定义的列。

■ 自定义函数:基于实际需求引用自定义函数。

■ 文本提取:基于当前行的文本进行数据提取。

(4)“视图”选项卡

■ 布局设定:基于当前的Power Query界面进行全局布局的设定。

■ 参数:设定当前Power Query中可用的参数设定。

■ 高级编辑器:用M语言来实现更复杂的功能。

3. 编辑栏

在编辑栏中可以使用M语言或Power Query语句对当前步骤进行操作,如图1.13所示的框线位置。

图1.13  Power Query编辑栏

4. 设置窗格

在Power Query中,所有的操作步骤将依次排列在右侧设置窗格中,方便我们快速调用相应的步骤变量,如图1.14所示。

图1.14  Power Query的设置窗格

5. 查询列表

在Power Query中,要想了解目前的数据连接,可以通过数据源的查询列表来获取,这个查询列表在界面的左侧显示,如图1.15所示的框就是Power Query的查询列表。

图1.15  Power Query的查询列表

6. 数据显示区域

Power Query完成相应的数据处理之后,所有数据的内容将显示在数据显示区域,图1.16所示为数据显示区域。

图1.16  Power Query数据显示区域

1.4.2 Power BI的Power Query编辑器界面

在Power BI中,Power Query编辑器的界面与Excel中的差别不大,但也有些许不同。Power BI提供的导入和操作比Excel更多,在Power BI中,Power Query编辑器界面包含了如下的布局。

1. 选项卡

在Power BI选项卡中提供了更多的选项卡来执行不同的任务和功能,如主页、转换、添加列、视图、工具、帮助等。

2. 快捷菜单栏

快捷菜单栏将随着选项卡的选择而发生变化,目前上下文菜单包含了如下的选项卡区域和功能。

(1)“主页”选项卡

在“主页”选项卡中包含了常规的执行操作,可以在“主页”选项卡中实现以下管理任务。

■ 行操作:基于当前数据表的行进行操作。

■ 列操作:基于当前数据表的列进行操作。

■ 排序操作:基于当前数据表进行排序操作。

■ 合并操作:实现多个表的合并操作。

■ 转换操作:将当前表的数据实现列的转换操作。

■ Python脚本:基于Python脚本实现数据源获取或数据处理操作。

■ Azure机器学习:调用Azure机器进行数据处理。

■ 机器视觉:调用Azure机器视觉对象进行数据处理。

■ 文本分析:调用Azure进行文本数据分析。

(2)“转换”选项卡

“转换”选项卡是基于当前数据表进行数据格式和内容的操作,目前Power Query提供的格式转换非常多,下面部分操作任务。

■ 表格操作:实现数据表操作。

■ 列的格式设置:为当前数据列进行格式设置。

■ 运行R脚本:基于当前表数据运行R语言脚本,进行数据再分析。

■ 运行Python脚本:基于当前表数据运行Python语言脚本,进行数据处理。

■ 日期与时间设置:完成当前数据表中时间和日期的设置。

(3)“添加列”选项卡

“添加列”选项卡是在当前表中添加额外的列,能够添加的内容如下。

■ 自定义列:基于当前数据表的列进行列的计算。

■ 自定义函数:引用当前可用的自定义函数进行计算。

■ 文本提取:基于当前的数据行对相关的文本进行各类数据提取。

■ AI见解:Power BI提供了基于Azure的机器学习进行见解构建。

(4)“视图”选项卡

“视图”选项卡是在当前的Power Query界面中进行布局的设定,通常包含如下设定。

■ 布局设定:当前Power Query编辑器的具体布局设定。

■ 参数:当前Power Query编辑器的参数设置。

■ 高级编辑器:M语言代码编辑界面。

(5)“工具”选项卡

当执行的Power Query编辑器出现性能方面的问题,我们需要进行整体过程的判断,可以通过“工具”选项卡来处理。

■ 步骤诊断:Power Query基于当前步骤的诊断。

■ 会话诊断:Power Query基于会话部分的诊断。

(6)“帮助”选项卡

■ 功能性帮助:微软提供的Power Query的帮助功能。

■ 社区与帮助:微软提供的Power Query的社区功能。

3. 编辑栏

与Excel的Power Query编辑器界面一样,Power BI也提供了标准的Power Query的M语言编辑栏,如图1.17所示的框中位置。

图1.17  Power Query编辑栏

4. 设置窗格

Power BI中Power Query的设置窗格和Excel中所处的位置相同,都在界面的右侧,如图1.18中框线显示的位置。

图1.18  Power Query的设置窗格

5. 查询列表

Power BI中Power Query编辑器的数据源查询列表同样在界面的左侧,当需要切换数据源进行步骤处理时,应该在数据源的查询列表中进行数据源的切换,如图1.19所示为数据源的切换方式。

图1.19  数据源及切换

6. 数据显示区域

在Power BI中Power Query的数据显示区域,可以浏览经过M语言处理之后的数据,数据是以Grid方式呈现,图1.20为数据显示区域。

图1.20  数据显示区域

1.4.3 Excel在Power Query数据处理中的优势

Excel在数据存储和数据处理方面的功能相对更加强大,在获取完数据之后能够将其保存在当前的Excel中,Excel在使用Power Query进行数据处理时有如下的优势。

1. Excel当前表数据导入

在Excel中,可以将Excel自身的文件导入Power Query中,而不用从外部进行Excel表格数据的引用。

2. Excel数据可以作为自定义函数数据源

在Excel中,可以调用单元格的数据作为自定义的数据源执行自定义函数,Power BI目前不支持这样的功能。

3. Excel支持数据的导入和再处理

如果希望当前导入的数据与源数据断开连接,可以执行保存并导入的方式进行数据导入,如果最终处理的数据量不大,可以实现最终数据的再处理。

1.4.4 Power BI在Power Query数据处理上的优势

虽然Excel在Power Query处理上有一定的优势,但Power BI在Power Query数据处理方面也有优势。

1. 支持Python中间处理

Power BI支持在Power Query中调用Python语言进行中间过程处理,生成的数据再由Power BI进行数据调用生成Power BI视觉对象,图1.21所示为Power Query的Python调用界面。

图1.21  Power Query的Python调用界面

2. 支持R语言中间处理

Power BI支持在Power Query中调用R语言进行数据的中间处理,处理完毕后的数据利用Power BI进行视觉展现。图1.22所示为R语言调用界面。

图1.22  Power Query的R语言调用界面

3. 支持SQL 实时报表(Direct Query)

在Power BI中进行SQL Server数据库的连接过程中,除了数据导入之外,它同时能够进行实时数据查询,这是Power BI和Excel在实时数据处理时最大的差别,图1.23所示为Power BI利用Direct Query进行数据查询。

图1.23  Power BI利用Direct Query进行数据查询

4. 支持Azure 文本分析

在Power BI中,支持调用Azure的机器学习功能进行文本分析,文本分析完成后结果导出到Power Query中。图1.24所示为使用Azure的文本分析功能,文本分析功能属于微软Azure云服务,需要有相应账户才能使用。

图1.24  Power QueryAzure文本分析

5. 支持Azure 机器视觉

在Power BI的Power Query中进行视觉对象处理,处理的结果同样导出到Power Query进行再处理。图1.25所示为Power Query机器视觉对象处理。Azure机器视觉对象属于微软Azure提供的智能服务之一,必须拥有Azure的账户才可以进行相应的操作。

图1.25  Power Query机器视觉对象处理

6. 支持Azure 机器学习

在Power BI中,Power Query可以调用Azure机器学习处理当前的数据,处理的数据结果导出到Power Query进行数据再处理。图1.26所示为Azure机器学习处理对象。由于隶属于Azure功能,因此需要开启一个Azure AD 账户进行登录。

图1.26  Power Query中机器学习界面

7. 支持Power Query的步骤诊断

在Power Query中,支持在步骤过程进行分析和诊断,判断整个过程的性能问题出现在哪里,诊断Power Query过程中执行效率相对比较低的地方,提升整个Power Query执行的效率,如图1.27所示为Power Query的诊断界面。

图1.27  Power Query的步骤诊断界面