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

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

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

相关推荐
2401_882727572 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
wxl7812273 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
开心点幸运点3 小时前
Excel——宏教程(1)
excel
小尤笔记4 小时前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
FreedomLeo15 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
穆友航6 小时前
PDF内容提取,MinerU使用
数据分析·pdf
EterNity_TiMe_8 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
坐公交也用券8 小时前
使用Python3实现Gitee码云自动化发布
运维·gitee·自动化
麦田里的稻草人w8 小时前
【数据分析实战】(一)—— JOJO战力图
数据挖掘·数据分析
施努卡机器视觉10 小时前
电解车间铜业机器人剥片技术是现代铜冶炼过程中自动化和智能化的重要体现
运维·机器人·自动化