个人永久性免费-Excel催化剂功能第16波-N多使用场景的多维表转一维表
Excel表的多维表数据结构转换为一维表的数据结构,以供更进一步对数据进行加工整理,生成另外格式的汇总表,这是Excel数据处理的一大刚需,几乎每个Excel表哥、表姐都会遇到这样的使用场景。很可惜,一般主流Excel插件都仅限于将二维表转换为一维表的功能实现,另外多种多维转一维的需求都未见有实现的功能。此次Excel催化剂将多维表转换一维表的功能发挥得淋漓尽致。在目前穷我之力有限度的调查插件市场功能的情况下,大胆推测Excel催化剂此多维转一维功能将是Excel插件中在全球范围内实现最彻底,最通用及使用体验最好的功能!
文章出处说明
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
视频演示
https://v.qq.com/x/page/u0634srt7gk.html
功能更新与修复
- 20180818 在原通用型的多维转一维功能中,单独提取出常用的简单交叉表转换,简化操作步骤,具体见链接https://www.jianshu.com/p/a9bc58204757
多维转一维场景
在本人日常工作中,所接触到的大概有以下几类的多维转一维的数据场景
类型一:一行表头,多次重复相同的数据列(相同列是连续排列)
此类数据因部分系统导出的数据,一行记录是一个订单,一个订单多条子订单记录时,预留3-5列来存放的类型。目前未发现有插件关注过此需求对其开发。
类型二:一行表头,多次重复相同的数据列(相同列因有多个不同类型的数据列按间隔式排列)
此类型和类型一类似,只是相同类型的列间隔排列了,也未见有相关插件对其开发。
类型三:一行表头,标准的二维表(一般是经过透视后的数据结构)
此类数据类型,主流的Excel二维表转一维表的功能,以下截图故意把透视保留列分开存放,可能部分Excel插件未对其有通用性考虑致使没法使用。
类型四:多行表头,多维表的结构,最底层表表头仅有一个数据列类型
此类型见于数据透视表列字段多重字段排列后出现的多重表头类型,目前主流Excel插件无能为力,仅见过一款国外BI圈流行的Tableau的Excel小插件有其功能,但因说明文档不详,本人竟然不懂操作,
在微软Excel官方PowerBI组件的PowerQuery中,对此类多维表结构(含以下类型五),可胜任将其转一维表,但操作步骤繁多,属高阶用户使用范筹。
类型五:多行表头,多维表的结构,最底层表表头含有多个数据列类型
和类型四类似,同样为多维表头,增加一难度是此处为多个值类型字段如销量、销售额、销售成本等,多层表头和类型四不同之处,此处为合并单元格,类型四为首列的表头有值,之后相同的列留空。
未知类型
若仍然有其他多维表的数据结构未囊括在以上5类中,欢迎留言告之。
以上所有场景都可借助Excel催化剂功能实现
功能实现的前提是对数据源无损处理,不需要各种辅助列、各种改变现有表格的内容动作(合并单元格、填充表头空字段等等),对排除的数据行甚至可以手工隐藏或自动筛选功能隐藏不作处理,最佳的体验来源于数据源和数据结构分离,基于原始的数据源即可生成所需的数据结果!
操作方法
操作方法这里不展开讲,可以查看视频得知最详细的操作方式,此处仅最大能力地解释一下窗体中的各个参数的定义。
如下图所示,合最复杂的类型五作了数据前后的对比及参数的填写。
当前选择源信息
当选择了数据源任一单元格后点击【多维转一维】的按钮时,此处默认识别到活动单元格所在表区域(CurrentRegion)作为数据源表的区域,若和预期不符,可点击【重新选择源】选取所要源数据区域。
保留字段表头行区域
此叫法可能不是太准确,凑合着理解吧,是指我们日常透视表中行区域的字段,不参加逆透视的列,如上图的店铺、销售员列,可能实际过程中有较多的这些非逆透视列,可酌情选择自己所要展示在结果表中的列,多个不连续列选择请按住Ctrl后选择。
提取源数据全表
在Excel催化剂多个功能中有此设置,因读取数据采用的是OLEDB的数据库读取技术(对数据量大时性能较好),貌似如果指标单元格区域,只有6万多行是可行,若数据行大于此数时,需要规范数据源所在的工作表(首行首列开始是数据源区域,除正常数据源的数据,不包含其他数据在此工作表内),勾选此处将对此工作表进行所有数据读取,数据行记录数可以增加至100万行。
逆透视列选择确认
一般性Excel插件无需此设置,看似操作简单了,但最终生成的结果表却是无意义的列标题,需手动更改过来,此表的每一项设置都是为了告诉程序我们的数据源的结构是如何的,及我们目标结果表中需要如何定义生成的新列的名称,部分内容插件可自动生成,无需恐惧如此多的操作,一句话总结:仅限于逻辑无法识别的部分才需要人工去干预填写确认!
列组字段名称
在多级表头中,如上图的年份、季度列数据中,需要逆透视把多列数据合并到一列时,需要重新命名的列名称,对应于拉透视表时的多个列字段的列名称。
列值字段名称
对数据值区域的内容重新定义是属于什么类型的值数据,如上图的销售量、销售额、销售成本等,对应于拉透视表时的是值区域里的数据列名称。
列字段源表头区域
因源数据是同一数据列类型多次重复出现,此处需要把同一数据类型的列给选择上,让程序知道要把这些列都合并成一个新列并给予前面所定义的名称作为新列名称,此部分多级表头部分程序自动识别无需人工选择,一般仅需设定最底层表头的列字段和值字段即可,因此工作窗体汇集了多种多维表数据结构的处理,故双击选择数据时有以下几种操作的不同。
选择多列的数据(选列标题即可,按住Ctrl可选多个间隔开的列),此时区域会出现逗号(,)或冒号(:),此时程序识别为人工已经选择了所有同一类型的数据列,无需使用后两项再进行逻辑加工出所有同一类型的数据列。
选择1列的数据,请选择从左边开始首次出现列标题,如上图的销售量是C4单元格开始出现,然后判断数据的后续出现规律是连续出现还是间隔出现,如类型4为连续出现,类型5为间隔出现。对应地在后两列的【单元间列数】和【单元总列数】上填写间隔或连续的列数量,如类型5中间隔3列重复出现销售量一列的值,此处填写3。单元是指最底层标题对应的上一层标题的数据项数量,如上一层是季度,为3列数据,同样在一行表头中,也类型算其间隔或重复的列数(假设其上方还有一行作了区分不同数据列的组合定义)
转换输出
同样一贯的Excel催化剂数据导出风格,可导出覆盖现有的智能表或新建一个工作表存放,多多使用Excel智能表,可让你数据处理能力得到极大的提升!
总结
专业人做专业事,人工智能时代,需要不断树立新观念,重复性的有规律的事情尽量让电脑去完成,人要做更有创造性的工作,对多维表转一维表的场景中,若不是插件的辅助,大量无谓的时间花在手工整理数据源上,非常不明智,希望大家日后再遇到相关的场景时,可以让Excel催化剂帮助减轻大量的工作量,省下时间做更有意义的事情,也欢迎工作中遇到重复性、有规律逻辑性的场景到群里反馈,或许最终可以提炼出插件完成,受惠广大职场人士,少做无谓活,多干创意活,少加班,多多享受优质生活!
系列文章
Excel催化剂安装过程详解及安装失败解决方法 - 简书 https://www.jianshu.com/p/4efcee38175a
Excel催化剂功能第1波-工作表导航 - 简书 https://www.jianshu.com/p/d9b2ae29cebe
Excel催化剂功能第2波-数字格式设置 - 简书 https://www.jianshu.com/p/a758ac3e77e2
Excel催化剂功能第3波-与PowerbiDesktop互通互联 - 简书 https://www.jianshu.com/p/e05460ad407d
Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法 - 简书 https://www.jianshu.com/p/534803771c20
Excel催化剂功能第5波-使用DAX查询从PowerbiDeskTop中获取数据源 - 简书 https://www.jianshu.com/p/21b2ca8fd2b8
Excel催化剂功能第6波-导出PowerbiDesktop模型数据字典 - 简书 https://www.jianshu.com/p/bc26a8dcdfce
Excel催化剂功能第7波-智能选区功能 - 简书 https://www.jianshu.com/p/146748e484d5
Excel催化剂功能第8波-快速可视化数据 - 简书 https://www.jianshu.com/p/ce7cca2baf89
Excel催化剂功能第9波-数据透视表自动设置 - 简书 https://www.jianshu.com/p/f872ace9aa90
Excel催化剂功能第10波-快速排列工作表图形对象 - 简书 https://www.jianshu.com/p/eab71f2969a6
Excel催化剂功能第11波-快速批量插入图片 - 简书 https://www.jianshu.com/p/9a3d9aa7ba7e
Excel催化剂功能第12波-快速生成、读取、导出条形码二维码 - 简书 https://www.jianshu.com/p/76c6856bec12
Excel催化剂功能第13波-一键生成自由报表 - 简书 https://www.jianshu.com/p/af0ac9ce1819
Excel催化剂功能第14波-一键生成零售购物篮分析 - 简书 https://www.jianshu.com/p/35014c17dff2
Excel催化剂功能第15波-接入AI人工智能NLP自然语言处理 - 简书 https://www.jianshu.com/p/56a0616125fa
关于Excel催化剂
Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!
Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!
Excel催化剂插件下载链接:https://pan.baidu.com/s/1gC6joqGY_SIg_yONga9PaQ
因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了)
取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。
最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!
关于Excel催化剂作者
姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。
擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。
2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。
和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。)
个人永久性免费-Excel催化剂功能第16波-N多使用场景的多维表转一维表的更多相关文章
- 个人永久性免费-Excel催化剂功能第20波-Excel与Sqlserver零门槛交互-数据上传篇
Excel作为众多数据存储的交换介质,在不同的系统内的数据很少可以很连贯地进行整合分析,一般的业务系统都会提供导出Excel作为标配功能供用户使用系统内生成的数据. 此时最大的问题是,Excel很维去 ...
- 个人永久性免费-Excel催化剂功能第19波-Excel与Sqlserver零门槛交互-查询篇
对频繁使用Excel的高级应用的尝试用户来说,绕不过的一个问题Excel的性能问题,对于几万条数据还说得过去,上了10万行的数据量,随便一个函数公式的运算都是一个不小的负荷,有些上进一点的用户会往Ac ...
- 个人永久性免费-Excel催化剂功能第18波-在Excel上也能玩上词云图
这年头数据可视化日新月异,在Excel上做数据分析,最后一步,难免要搞个图表输出高大上一回,微软也深知此道,在Excel2016上更新了一大波图表功能,市场上很耀眼的词云图还是没加进来,虽然在各大的在 ...
- 个人永久性免费-Excel催化剂功能第17波-批量文件改名、下载、文件夹创建等
前几天某个网友向我提出催化剂的图片功能是否可以增加导出图片功能,这个功能我一直想不明白为何有必要,图片直接在电脑里设个文件夹维护着不就可以了么?何苦还要把Excel上的图片又重新导出到文件夹中?这个让 ...
- 个人永久性免费-Excel催化剂功能第105波-批量调整不规范的图形对象到单一单元格内存储
在日常制表过程中,一个不得不面对的问题,许多的工作起点是基于其他人加工过的表格,无论自己多大的本领,面对不规范的其他人的制作的表格,经过自己的手,该擦的屁股还是要自己去亲手去擦,而带出来的也只会是一堆 ...
- 个人永久性免费-Excel催化剂功能第104波-批量选择多种类型的图形对象
在Excel的日常操作过程中,选择绝对是一个高频的操作,之前开发过一些快速选择单元格区域的辅助功能,除了单元格区域,Excel强大之处在于,类似PhotoShop那般可以存放多种图形,并且有图层先后顺 ...
- 个人永久性免费-Excel催化剂功能第102波-批量上传本地图片至网络图床(外网可访问)
自我突破,在100+功能后,再做有质量的功能,非常不易,相对录制视频这些轻松活,还是按捺不住去写代码,此功能虽小,但功课也做了不少,希望对真正有需要的群体带来一些惊喜. 背景介绍 图床的使用,一般是写 ...
- 个人永久性免费-Excel催化剂功能第103波-批量打开多文件或多链接
有时简单的东西,却带来许多的便利,为了让大家可以记住并容易找寻到此功能,也将这么简单的功能归为一波,反正已经100+波了,也无需为了凑功能文章而故意罗列一些小功能带忽悠性地让人觉得很强大. 使用场景 ...
- 个人永久性免费-Excel催化剂功能第101波-批量替换功能(增加正则及高性能替换能力)
数据处理无小事,正如没有人活在真空理想环境一下,在数据分析过程中,也没有那么真空理想化的数据源可以使用,数据处理占据数据分析的80%的时间,每一个小小的改善,获益都良多.Excel查找替换,有其局限性 ...
随机推荐
- C#判断是否相等
判断对象是否相等,因为平时用的一般都是int.bool.string类型的数据是否相等. 同时也是只判断它们的“值”是否相等.于是都是用“==”或是Equal()方法来判断. 但这并不能判断出是否为同 ...
- 【Qt】无边框窗体中带有ActiveX组件时的一个BUG
无意中发现的一个BUG,Qt5.1.1正式版首先创建一个GUI工程,拖入一个QAxWidget控件(为了使ActiveX生效,需要在.pro文件中加入CONFIG += qaxcontainer)接着 ...
- Qt4.8.6详细安装步骤(使用了i686-4.8.2-release-posix-dwarf-rt_v3-rev3,手动设置gcc和gdb)非常清楚 good
摘要 在网上查看了很多篇关于Qt 4的安装方法,都是以前很久的帖子,所以就想按自己的方式重新总结一下,希望可以帮助到大家. Qt5的安装比较简单只需要下载一个文件qt-opensource-windo ...
- 教你如何在 Visual Studio 2013 上使用 Github
介绍 我承认越是能将事情变简单的工具我越会更多地使用它.尽管我已经知道了足够的命令来使用Github,但我宁愿它被集成到IDE中.在本教程中,我会告诉你使用Visual Studio 2013如何实现 ...
- GTest翻译词汇表
版本号:v_0.1 词汇表 Assertion: 断言. Bug: 不翻译. Caveat: 警告. Error bound: 误差范围. Exception: 异常. Flag: 标志位. Floa ...
- 对新数据库使用 Code First
如果使用的是 Visual Studio 2010,还需要安装 Nuget 1.创建应用程序 简单起见,我们将构建一个使用 Code First 执行数据访问的基本控制台应用程序. 打开 Visual ...
- .NET中生成水印更好的方法
.NET中生成水印更好的方法 为了保护知识产权,防止资源被盗用,水印在博客.网店等场景中非常常见. 本文首先演示了基于System.Drawing.Image做正常操作.然后基于Direct2D/WI ...
- fork和僵尸进程
1. 关于fork fork()函数: 用于创建一个进程,所创建的进程复制父进程的代码段/数据段/BSS段/堆/栈等所有用户空间信息:在内核中操作系统重新为其申请了一个PCB,并使用父进程的PCB进行 ...
- Babel是什么?
要是官方文档写得好的话,我也许就不用自己做个笔记. 官方文档 Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运 ...
- CentOS7.5上FTP服务的安装与使用
1.FTP简介 1.1FTP:File Transfer Protocol 文件传输协议 FTP是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层.文件传送(f ...