个人永久性免费-Excel催化剂功能第19波-Excel与Sqlserver零门槛交互-查询篇
对频繁使用Excel的高级应用的尝试用户来说,绕不过的一个问题Excel的性能问题,对于几万条数据还说得过去,上了10万行的数据量,随便一个函数公式的运算都是一个不小的负荷,有些上进一点的用户会往Access桌面数据库去进深,试图通过一些数据库的技术解决下数据性能问题。
但毕竟要学习SQL查询,学习许多数据库的技术,也把许多人挡在通往美妙的数据之旅上。而且另一问题是Access其实也是很鸡肋的一个东西,特别是它的SQL语法支持和多人共享查询上。
【Excel催化剂】拿出私藏很久的秘密武器,老规距,对个人用户一贯地任性永久性免费使用。让普通用户也能享受到驾驭大数据的畅快感。
文章出处说明
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
视频演示
暂无,功能操作性较简单,如有强烈需求,后补视频或直播
使用场景
随着工作上的专业化分工越来越明细化,对一个业务导向的普通用户来说,能够掌握到足够多的Excel普通技能才是投资回报率最高的选择。
同样地在企业内的IT人员,如果能够有一种方式,能够让业务线上的普通用户更轻松地对自身的需求进行一些自助化地处理,不用没完没了地提一些低级的业务需求,这也是个美好的愿景。
今天,或许在【Excel催化剂】的桥梁搭建上,这样的愿景越发地明晰化和成为可能发生的事情。
IT人员在数据库上为用户编写视图,然后给用户开放有限度的权限的数据库帐号,仅有特定的视图/表的查询权限。普通用户可以使用最熟悉的数据处理工具-Excel,通过IT协助拿到需要的数据源,数据直接存放到Excel中,无需IT开发繁琐地数据条件查询,数据导出等功能。数据到了Excel后,只需简单根据自身的业务逻辑增加一些数据计算列,再搭配数据透视表和图表功能,立马对数据源进行多维度拖拉式无死角的分析。
技术疑问点
Excel真的能直接访问数据库查询数据吗?
大部分的IT人员估计只知道导出Excel的功能,在他们的眼中,Excel就是个临时存储数据的一张大画布,用户没能力操作数据库拿到数据,只能把数据导出来让他们自己再加工。
其实Excel作为一款出色的数据处理软件,访问数据库是一个再普通不过的需求,只是一般的用户没法驾驭到这个层级的功能。Excel估计访问几乎一切存储数据的介质是没问题的,如xml/json/txt/csv/html/所有关系型数据库/hapdoop等等。
Excel用户不懂写SQL查询对数据库发出特定条件的查询怎么办?
当前一个问题不是问题后,剩下的用户的技能问题,确实是个头痛事,不可能对用户有过高的要求,懂编写SQL这个把大批的人挡在门外了,但如果只需用户会看懂简单的SQL如下:
SELECT 字段名 FROM 表名 WHERE 条件
会不会让这个困难能够看到一线曙光呢?理解别人写的和自己动手写出来是两个不同层次的要求。
Excel催化剂给大家带来的解决方案是:
用户只需要懂得简单的窗体按钮操作,加上对Excel基础的表格筛选操作(自动筛选功能,小白用户可掌握),在插件的帮助上,轻松自动生成所需的SQL语句向数据库发出查询
详细操作流程
用户向IT数据库管理者请求必要性帮助
- 给用户开通帐号,并告之用户数据库的相关信息(服务器地址、数据库名、用户、密码)
- 对用户所需要的数据进行SQL编写视图查询最终交付用户视图对象名称
因关系型数据库一般为了规范化范式要求,一个主题的数据分散到多个表内存储,底层表字段为英文名不友好,需要通过视图的方式,把同一主题的不同表进行反规范化关联起来,如订单数据,需关联订单主表+订单明细表+商品资料表+其他维度的资料扩展表(渠道、地区、促销活动等),最终形成一份普通用户可阅读的数据表。 - 给用户授权这个视图/表的访问权限
填写基础的数据信息
从IT数据库管理者拿到对应的基础信息进行填写。
小技巧:使用复制行记录,可将选定行的信息复制到新行中,只需修改下表/视图名即可新增一条新的记录,一般数据库都较为固定,下次新增时只需填写好IT数据库管理者提供的表/视图名即可。
表/视图字段选择
选择要查询的表对应行,点击上图的【Sql查询】即可此表中的【查询初始记录数】所定义的记录到Excel表中(查询初始记录数是为了用户可以查询数据时,不会因表返回的数据量过大,Excel无法加载完成或加载速度慢而附加的,在后面的操作中再作介绍)。
不同的数据使用场景,可能对同一个表/视图的字段需求不一样,即同一份数据源其实可以多处分析场景使用到,一些不使用的字段可以不选,减少从数据库查询过程中的数据传输负荷
同时IT人员可以多作展望性思考,把用户可能会用到的字段都写到视图里,防止用户频繁地需求变化索取追加不同的字段。
通过Excel表的自动筛选功能,把所需的数据筛选出来
因前面操作中,此时仅返回所有数据的前N条数据,数据量不全,如所有数据是2011年至今的数据,可能只显示了2011年1月份的不全的数据。
所以对下面的筛选操作,可能操作下来,不会有可见数据出现在当前筛选条件下,这个没关系的,此步骤的操作作用是:用Excel用户能够掌握的筛选数据的方法,最终经过程序的转换构造出真正可以向数据库发出筛选的SQL条件查询语句,实现无需会写SQL一样可查询数据库
Excel自动筛选一般因数据类型分为三大类:
数字类
一般会用到大于、小于、不等于等条件对数据进行区间查询,要写两个并列条件,请使用自定义筛选
示例:一定范围内的数值的筛选方式,也可单向筛选一个大于或小于
文本类
可用开头、结尾、包含、不包含等方式来筛选文本,要写两个并列条件,请使用自定义筛选
示例:文本筛选某几项可用筛选下方的勾选的方式
示例:包含、开头是、结尾是M的等文本筛选方式
日期类
因日期格式本质是数字,同样可用于大于、小于、不等于等操作,同时因Excel对日期有智能的识别,有明天、今天、本月、上月等选择和筛选器下方自动把日期归类为年、月、日的结构,Excel催化剂未对这些智能部分进行转换实现,请同样地使用大于、小于、介于等常规的数字操作来筛选日期。
示例:筛选2007年11月的数据,注意前方的大于等于和小于的日期表示方式
通过Excel表的自动筛选功能,把所需的数据筛选出来
多个筛选条件下,数据为且的关系,可能出现无数据的情况
使用【SQL筛选查询】,把自动筛选的条件传递到SQL查询去
最终用户端所需要的数据已经在Excel催化剂的帮助下,顺利由普通用户在无SQL知识下操作成功,达到前面愿景式的场景需求。
一般Excel用户直接使用数据库的数据一大难点是数据库的表数据量很大,一般百万级别的数据量都是很常见,用户一般的分析仅需要的时间周期为一周、一个月等,一般对筛选的要求,只是做一个日期字段的筛选即可大范围地减少SQL查询后的数据记录数,对于其他不想查看的数据类别,大可采用在透视表里用筛选字段将其隐藏。
因数据库查询对索引维护要求较高,不见得筛选多个条件返回小部分的数据,比筛选日期字段,返回大部分的数据来得更快。
数据库的日期字段需要使用DateTime格式,使用Date格式将无法正确识别成日期格式
Excel智能表返回的数据,和原生的Excel向数据库查询一致
因Excel催化剂仅作用于SQL语句的构造工作,最终的呈现是在【外部数据属性】下的【连接属性】的连接字符串和命令文本的修改,保留了原生Excel的智能表可通过刷新操作向数据库请求新内容的功能。
若日期的筛选条件只使用单方向的大于某一天的日期,后续若想得到新的数据,仅需刷新一下智能表,无需重复之前的所有操作
总结
让Excel用户可以轻松操作数据库,拿到所需的数据进行其他分析需求,这个过去很遥远的愿景,如今在Excel催化剂的作用下成为现实,整个操作过程全程无复杂的技术要求,仅使用Excel用户即手可得的现成的知识体系即可完成,同时对IT数据库管理者来说,想对Excel用户开发一些数据查询需求,也将变得如此简单,无需再频繁地开发前端界面的筛选操作、导出Excel等功能。仅仅作了IT该做的部分,其他的部分完全地交给用户自己完成,实现了IT搭建舞台,用户在其上愉快地唱戏的美好生活。
系列文章
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催化剂功能第16波-N多使用场景的多维表转一维表 - 简书 https://www.jianshu.com/p/23980e53ec5b
Excel催化剂功能第17波-批量文件改名、下载、文件夹创建等 - 简书 https://www.jianshu.com/p/e29f1048d8e5
Excel催化剂功能第18波-在Excel上也能玩上词云图 - 简书 https://www.jianshu.com/p/5fa64d548838
关于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催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。)