影刀RPA实战:Excel数据透视表指令

时间:2024-10-15 08:10:09

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.最后

感谢大家,请大家多多支持!