1.Excel数据透视表
Excel数据透视表是Excel中一个强大的数据分析工具,它能够快速对大量数据进行汇总、分析和呈现。用户可以通过简单的拖放操作,将数据字段分配到行标签、列标签、值和报表筛选器区域,实现数据的多维度分析。
创建数据透视表非常简单,只需选择数据区域,然后点击"插入"选项卡中的"数据透视表"按钮。在弹出的对话框中,可以选择将数据透视表放置在新工作表或现有工作表上。
数据透视表的字段列表允许用户将字段拖放到不同的区域,以不同的方式组织和分析数据。行标签和列标签用于数据的分组,而值区域则显示数据的汇总结果,如求和、平均值、计数等。此外,报表筛选器允许用户根据特定条件筛选数据,以进一步细化分析。
数据透视表还支持数据的分组、排序和筛选,以及多种预设样式的应用,使得数据的呈现更加直观和美观。如果原始数据发生变化,用户可以轻松刷新数据透视表,以确保分析结果的准确性。
总之,Excel数据透视表是一个功能丰富、操作简便的工具,它极大地简化了数据分析的过程,帮助用户快速从数据中获取有价值的信息。
数据透视表在分析数据方面的优势:
-
快速汇总大量数据:数据透视表可以迅速处理成千上万条记录,自动进行求和、平均、计数等计算。
-
灵活性和动态性:用户可以通过拖放字段轻松改变数据的汇总方式,数据透视表会即时更新以反映这些变化。
-
多维度分析:可以同时分析数据的多个维度,如按地区、产品、时间等,以发现数据间的复杂关系。
-
交互性:数据透视表允许用户进行交互式探索,如筛选、排序和分组,以深入理解数据。
-
数据可视化:可以轻松地将数据透视表中的数据转换为图表,以直观展示分析结果。
-
自动更新:当原始数据源发生变化时,数据透视表可以自动更新,确保分析结果的时效性。
-
减少错误:由于数据透视表自动处理数据汇总,减少了手动计算可能引入的错误。
-
支持复杂计算:可以创建自定义计算字段和使用复杂的计算,如百分比、差异、指数等。
-
数据钻取:用户可以通过钻取功能查看数据的不同层次,从总体到细节,以获得更深入的洞察。
-
报表筛选:可以轻松地添加筛选器来限制数据透视表中显示的数据,以进行更精确的分析。
-
数据整合:可以整合来自不同数据源的数据,进行跨数据源的分析。
-
节省时间:对于需要频繁进行相同类型分析的用户,创建一次数据透视表后,可以重复使用,大大节省时间。
2.实战目标
本次实战主要介绍使用影刀RPA操作Excel数据透视表。实现数据汇总,筛选即设置切片器。
演示销售数据基础表:
数据透视表:
3.实战步骤
3.1 指令说明
3.1.1 新建数据透视表
**功能:**依据数据源创建数据透视表,该指令的设置难点是透视表设置,主要接收的参数是JSON字符串,使用时,最好先在Excel中创建数据透视表,然后使用"在Excel内指出"功能获取数据透视表的配置字符串,获取后点击确定,配置字符串会自动回显。
Excel对象:选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象
透视表设置:透视表的设置信息,可以在Excel中建好数据透视表后,通过「在Excel内指出」拾取设置信息
数据源:「在Excel内指出」可同步拾取到已有透视表的数据源,可在此基础上作修改
3.1.2 筛选数据透视表
**功能:**用于设置数据透视表中筛选器
**Excel对象:**选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象
所在Sheet页名称:指定要刷新的数据透视表所在的Sheet页,选填,默认为当前激活的Sheet页
**透视表名称或位置:**若相应Sheet页中只有一张数据透视表,直接填1即可,若有多张,可指定名称,也可通过「在Excel中指出」拾取数据透视表名称
**筛选器名称:**设置筛选器名称
**选择方式:**全部选择/部分选择
**筛选器内容:**指定要筛选的内容,仅在部分选择时生效
3.1.3 刷新数据透视表
**功能:**当数据透视表引用的数据或数据源源发生改变时,刷新数据透视表同步数据
**Excel对象:**选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象
**所在Sheet页名称:**指定要刷新的数据透视表所在的Sheet页,选填,默认为当前激活的Sheet页
**透视表名称或位置:**若相应Sheet页中只有一张数据透视表,直接填1即可,若有多张,可指定名称,也可通过「在Excel中指出」拾取数据透视表名称
3.1.4 刷新透视表
**功能:**该指令实现在刷新指定 sheet 透视表的功能
**Excel 对象:**excel_instance, 选择通过【启动Excel】或【获取当前激活的Excel】指令创建的Excel对象
**Sheet页名称:**字符串, 选填, 默认为当前激活的 Sheet 页
3.15 设置切片器
**功能:**该指令通过接口在工作簿的透视表中插入切片器
Excel 对象: excel_instance, 选择通过【启动Excel】或【获取当前激活的Excel】指令创建的Excel对象
**切片器名称:**字符串, 切片器的名称, 一般为, "切片器_xx"(在切片器名称加上切片器_)
**项名称:**字符串, 需要设置的项, 如, 西瓜
**勾选:**复选框, 默认, 勾选
3.2 实战代码
3.2.1 新建数据透视表
目标:新增sheet工资表,命名销售金额汇总,将生成的透视表存放到单元格区域A3:B13
配置字符串:
在字符串中我们需要修改的又以下几个地方:
sheetName:存放数据透视表的工作表名称
tableRange:存放数据透视表的工作表中的单元格区域
name:数据透视表的名称,
{
"sourceType": 1,
"sheetName": "销售金额汇总",
"tableRange": "A3:B13",
"name": "数据透视表1",
"properties": [{
"name": "ColumnGrand",
"value": true
}, {
"name": "RowGrand",
"value": true
}, {
"name": "SubtotalHiddenPageItems",
"value": false
}, {
"name": "InGridDropZones",
"value": false
}, {
"name": "LayoutRowDefault",
"value": 0
}, {
"name": "DisplayFieldCaptions",
"value": true
}, {
"name": "ShowDrillIndicators",
"value": true
}, {
"name": "DisplayContextTooltips",
"value": true
}, {
"name": "SortUsingCustomLists",
"value": true
}, {
"name": "DisplayImmediateItems",
"value": true
}, {
"name": "FieldListSortAscending",
"value": false
}, {
"name": "ShowValuesRow",
"value": false
}],
"fields": [{
"name": "销售人员",
"index": "1",
"formula": null,
"customName": "销售人员",
"subtotals": [true, false, false, false, false, false, false, false, false, false, false, false],
"props": [{
"name": "Orientation",
"value": 1
}, {
"name": "ShowAllItems",
"value": false
}, {
"name": "EnableItemSelection",
"value": true
}]
}, {
"name": "订购额",
"index": "1",
"formula": "",
"customName": "求和项:订购额",
"subtotals": [],
"props": [{
"name": "Orientation",
"value": 4
}, {
"name": "ShowAllItems",
"value": false
}, {
"name": "Calculation",
"value": -4143
}, {
"name": "Function",
"value": -4157
}, {
"name": "NumberFormat",
"value": "General"
}]
}]
}
演示:
3.2.2 筛选数据透视表
目标:在新建的数据透视中筛选销售人员
演示:
如果要筛选多级,就多复制指令,与一般的筛选操作一样
4.注意事项
生成数据透视表前,做好先做一个模版,我们通过指令获取配置信息,然后再依据实际需求修改,一般需要修改的地方有,数据透视表存放sheet页,存放单元格区域,如果你要改数据透视表名称的需求,也可以修改,数据透视表基础数据源区域的修改。
大多数情况下,我们都是从ERP中导出数据,然后生成数据透视表,有时候我们可能生成多个,这个时候我们就需要拿出时间,把数据透视表的设置字符串都获取到,然后存放到数据库中,或是数据表中,包括数据源,考虑他的延展行,避免丢数据,这样导出数据后,我们就可以通过循环制作每一个数据透视表。
在制作的过程,可能报错:pywintypes.com_error
pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147024809), None)
这个错误,是excel进程有残留,我们必须把他全部杀死,所以,运行前,我们使用终止程序指令杀死全部excel进程。如果还是不行,就的重启电脑了。
5.最后
感谢大家,请大家多多支持!