微软商业智能文章合集v_第1页
微软商业智能文章合集v_第2页
微软商业智能文章合集v_第3页
微软商业智能文章合集v_第4页
微软商业智能文章合集v_第5页
已阅读5页,还剩318页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐在此系列中,笔者为大家带来一些以数据分析师视角去使用 Sqlserver 的系列文章,希望笔者走过的路能够给后来者带来一些便利。背景介绍在数据分析师的下,使用数据库的是为了从数据库中获取数据,和数据库交互的语言是 SQL,因此最快速写出想要的 SQL 语句就显得非常有必要了,毕竟不是在分析的路上,就是在写 SQL 语句的路上,相当地高频。用原生的 SSMS 提供的功能很单薄,还好,微软一般都会开发第 3 方插件接口,让第 3 方来参与完善非功能。笔者使用过较好用的插件工具有 SQLPrompt 和 SQL Ass

2、istant,这两款插件功能集 中在辅助书写 SQL 语句及 SQL 语句的格式化,同时还有一款插件 SQL Search,可穿透表、视图、过程等的 SQL 代码甚至注释用于搜索数据库对象信息都可搜索。在遇上 SQLPrompt 后,已经完全不能自拔,直到笔者电脑已经不能 PJ,不得不四处再寻找,寻到了 SQL Assistant 还可以用,现如今还在适应 SQL Assistant 过程中,复杂功能还没认真去研究。具体使用使用方法都是很简单,自行下就可以,这里只简单介绍后两者,前者SQLPrompt 已经与它无缘了。关键字提示功能受手动书写整个 SQL 关键字,并且写出自动用上这些辅助工具,

3、再也来还是小写状态非常不顺眼,用上工具后,简单写几个字母就跳出完整的单词及语句段来。格式化 SQL 语句,是我最刚需的功能之一,写出来一大坨的 SQL,经过它格式化一下,清爽许多,阅读性也好很多,现在也记住了它的快捷键了,呵呵。其他的许多功能,还没来得及认真去研究,总的来说,用工具日常的重复性工作,不止是 Excel 用户,任何用户都要天天去想的事情,大家可都是为了偷懒而努力。其他格式化服务偶尔手上没有用惯的工具,也可以用服务临时顶替一下,例如这个就可以格式化多种数据库 SQL其他常用格式化工具除了 SQL 语句格式化是刚需,同样还有 xml 和 json,也是日常数据分析、数据处理非常多地需

4、要更好的可视化阅读它们时需要格式化一下,笔者用的是 notepad+的插件,有的读者们自行试用下。SQL Search 使用这些工具都不复杂,很好理解,可以自行摸索下,熟悉数据库对象的都很快上手。这个工具是 SQLPrompt 厂家提供的良心工具,bytheway,除了它,其他都是商业软件。怎样获得以上插件PJ 软件,需要的读者们,可私下为免太大范围内信获取。留言或加笔者微结语工欲善其事,必先利其器,孔子 2000 多年前就教导过了,在信息化,工具的作用就更加明显了,这也是 Excel 催化剂诞生的一大有利器在手,处理日常重复繁杂低效工作。,为让广大 Excel 用户拥作为一名数据分析师,工具

5、的作用也尤为重要,以上介绍的工具,都是实打实地带来极大生产力的工具。希望笔者的一些探索发现能够带给一些帮助。因人的精力有限,仅对 Sqlserver 的工具有所了解,若其他数据库平台有相关好用的插件、工具,也欢迎下资讯信息,哪天用得上时同样会很感激。,不限于 Excel,会Sqlserver、dotNET、笔者未来聚焦在数据领域的Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关注。Sqlserver数据分析师有理由爱 Sqlserver 之二-像使用 Excel一般地使用 Sqlserver大家一谈数据库,就觉得非常高深莫测,深不见底,非凡人敢去触摸。但 Excel 的话,没

6、人敢说自己使用吧(相反一大堆人的简历上写着精通 OFFICE 所有软件套件)。换作其他非微软厂商的数据库,的确很容易产生这样的畏惧感,包括笔者在内,对其他数据库也是不敢靠近。但 Sqlserver, 出自微软之手,可以让你大为改观,请看下文一一述说。相关阅读Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐 - 简书小小插曲在微软系的对盗版系列中,大家都可以从网络上非常容易找寻得到,微软也是大放水, 度非常高。但是其他厂商的,你可知道没这样的福气了,近期在做一个项目时,接触到一个其在 PowerBI 上使用的数据连接驱动,奇葩到搜索全网SAP 的后,不止,想,连

7、都不能找到这些驱动,只能从其官网上,并且只能用商业用户的帐号体系才能没有细究)。到(不知道是否是管理员之类的高级帐号才能,所以,对于非微软系的上手程度之复杂,从此也可一窥而知,连个软件都不提供,连练手的机会都没有,谈何学习呀,所以也不要指望他们从用户的体验角度能够做出多好的。也谈微软系用过 Windows、OFFICE 软件的人,都能感受到微软的细腻,无穷无尽的界面化操作,操作过程中的自提示,友好的向导功能带领新用户快速上手,并且配以非常详尽的文档和示例说明,全方位地掌握每个细节。在 Sqlserver 上,也不例外,看完此篇,笔者相信你也会认可此篇所提到的观点: 像使用 Excel 一般使用

8、 Sqlserver。使用 Excel 是一种怎样的体验?在 OFFICE中,要数 Excel 的使用群体、使用频率最为广泛,这里说的 Excel,其实也可类比在其他 Word、PowerPoint 等组件上。Excel 一款小小的数据处理分析小工具,蕴含了非常多的功能,大部分的功能都是提供了菜单化操作、结合鼠标、键盘快捷键,可以非常流畅地在数据海洋里遨游。任何一个新用户接触 Excel,都产生太大的恐惧感。随着学习的一步步加深,对现有的功能的重复性繁琐操作开始提出一些要求,能否帮我自动化一些来处理,这样就带出了宏和 VBA 的层面。可以用录制宏的方式,当前的操作步骤,再结合一点点的 VBA

9、知识,用编程语言的变量、循环、选择结构等,将自动生成的宏代码略略动化的重复性工作,开始脱离界面的重复性机械操作。一下,即可完成自没法达到宏和 VBA 的使用水平也不必沮丧,因为有一些走得更远的人,已经不止于让手头的工作自动化起来,还为大部分初中级用户做出了插件,让代码封装起来,直接回归界面化操作输出给普通用户使用。例如 Excel 催化剂插件就是很经典的案例。且看 Sqlserver 的使用和 Excel 有多像Sqlserver 作为一款优秀的数据库软件,其使用的群体远不像普通人所定义的那么DBA 才会使用得上,对于普通的窄,不止于专业的软件开发者、数据库管理数据工作者,其仍然有天然的亲和力

10、,可以让类似 Excel 用户的群体来过渡使用。几乎一切操作都可以界面化Sqlserver 服务器的方式,一般情况下是使用其客户端工具 SSMS 来完成(估计太优秀了,也没有什么第 3 方的客户端引起太大的关注,其他数据库倒有好多第 3 方客户端的出现,足见微软所做的之优秀)在 SSMS 上操作 Sqlserver,几乎所有的操作,都可以通过类似操作 Windows、OFFICE 软件那样,通过图形化界面,鼠标式完成。上图上方的菜单栏、左侧的数据库对象树结构,通过菜单和对象树鼠标右键,几乎可以满足我们日常所需操作的任务。SQL,通过右侧的编辑区敲代码完成当然一般来说,熟练之后,特别是写数据也不

11、难,类似我们使用 Excel 时,对函数写得非常熟练,不想使用函数向导直接敲函数名、函数参数的体验差不多。界面化操作也不代表需要掌握所有功能,也不代表每个功能有界面操作就很容易理解,就像学习 Excel 一样,有些功能如数据分析工具,求解等,虽然也是界面,但也需要深刻理解其实现原理才能真正用得好。Sqlserver 的功能较 Excel这样的大众工具软件更难理解,后面会再次写相关文章介绍以数据分析师的视角, 最应该掌握什么功能,哪些功能投入产出比更高。像录制宏一般地自动生成 SQL 语句Excel 里有录制宏功能,帮助我们快速学习 VBA,在 Sqlserver 上,同样有类似于录制宏的界面操

12、作实际对应的 SQL是什么的功能。简单改造生成自动化有了以上的 SQL 自动生成后,理解好 SQL 语句的含义,哪些地方可以使用简单变量替换即可生成一条新的 SQL 命令,然后可以借助在 Excel 上拼接字符串的方式快速生成多条 SQL 命令,进行批量化操作。更高级别的自动化数据库有过程,类似 Excel 的VBA 代码过程片段的概念,可以通过编程语言的方式,写各种复杂的逻辑处理,最后封装成一个过程(方法),下次直接运行此过程即可实现批量操作。在 Sqlserver 的过程中,可以使用几乎所有的 T-SQL 语句及命令,生成的结果甚至可以生成新的表数据,将数据导出到外部,数据大范围转换等等,

13、结合代 理作业的功能,更可以定时自动化开启。结语Sqlserver 入门真心不难,对于数据分析工作者来说,无需像专业开发,数据库运维等掌握一大堆高深的知识,亦可轻松唯我所用,只用其对数据分析工作最精华的部分,相信一个正确的引导,可以让学习使用 Sqlserver 的过程,类似于学习使用Excel 一般地愉悦,后续笔者未来聚焦在数据领域的,欢迎继续关注。,不限于 Excel,会Sqlserver、dotNET、Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关注。Sqlserver数据分析师有理由爱 Sqlserver 之三-最值得使有低投入高产出的 Sqlserver 功能数据

14、分析师群体,有别于一般的传统开发群体和数据库运维群体,对 Sqlserver 的功能需求上也各不相同,本篇以笔者的亲身经历,用一种有别于一般性的角度来讲解 Sqlserver 值得我们学习,投入产出比高的一些功能模块。 当然,知道地越多,能够产生的价值也越大,在平衡投入产出比的前提下,越往深入学习,在特定时候会产生成倍的回报。相关阅读Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐 - 简书Sqlserver数据分析师有理由爱Sqlserver 之二-像使用 Excel 一般地使用 Sq. - 简书数据分析师的定义虽然真正意义上的数据分析师是很高级的分析水平,

15、也有超强的学习能力,大不必来阅读笔者所写的这些不太有营养的入门读物。但就像市面上大家都对一个小软件叫系统,一个简单进销存叫 ERP 一样,大家对数据分析师的称号也是很大的宽容,类似笔者这样一个三流分析水平,经常各种方向到处寻觅的各种知识领域的人,也能叫上个数据分析师的头衔。本篇的定义的数据分析师也同样是宽泛的,可能只是一个普通数据文员,统计员的,但谁都是从普通工作做起,普通数据统计慢慢爬升起来的,笔者也相信这些也可以帮助许多的没有明确方向指引的、在数据领域摸爬滚打的人群带来一些帮助的。数据分析师的刚需普通的数据分析师,在数据量不大的情形下,使用 Excel 是一个很不错的选择,但数据量一大,E

16、xcel 的性能也开始出现瓶颈,就算是现在自助式 BI 技术的普及, 对于为单机版的 Excel、ACCESS、PowerBIDesktop 等工具来说,仍然容易存在性能的瓶颈。所以,笔者对数据分析师的刚需理解为:数据和数据与处理方面的相关功能。对应于 Sqlserver 的使用场景是,能够帮我们把数据顺利地把手头上的数据放到数据库中集中式存放,当要使用时,可以将其重新导出,并且可以适当地作一些处理如多个表关联,数据颗粒度的汇总聚合等。最终可以有很好的载体来承接这些数据如导出至 Excel 表格或导入到 PowerBI 模型或其他 SPSS、python 等更专业的分析软件或工具中。总结为 S

17、qlserver 上的功能掌握为:数据导入导出、会使用 SQL数据,知道Sqlserver 数据。怎样使用其他软件工具数据分析师的进阶需求有了前面的一些简单掌握后,基本可满足自身的数据分析需求,但如果需要更加自动化、更灵活安全地数据分发、对数据运算性能的Sqlserver 的其他一些企业级的功能知识点的。地优化,也是需要继续学习企业级 IT 主导和个人部门级业务主导很大的差异点在于企业级的解决方案可满足到:数据权限,流程自动化处理,流程稳定性保障,性能并发性满足等等,这些都是单机版文件型的解决方案所难于满足到的。对应于 Sqlserver 的知识点为:登录名、用户名的运维,各数据所以进阶 表、

18、视图、维护、复杂 SQL过程等数据库对象的权限授予分发,性能的优化如索引的添加的创建,特别是专为数据分析师准备的数据分析窗口函数非常有必要完全掌握,还有一些自动化调度作业系统的使用满足流程的自动化。数据分析师较少需要关注到的方面因数据分析的场景不像生产数据环节的业务系统那般高要求,例如不能随便出错,没有机会让你随便死机后重启系统,应对大量用户的高并发请求和数据增删改查任务,所以往往一些上谈及的高级的功能,对数据分析的群体来说,都是非常少的应用面和非常不实用的知识。例如:数据库锁机制、触发器、事务、游标、高性能优化、日志的维护等等。这些知识点如果在学习过程中遇到,笔者认为只需略略地带过,了解一下

19、即可。更合理的方案是数据分析使用的数据库,与业务系统的数据库分离,一般专业一点的叫法是组建一个数据中心或数据仓库,专门用于数据分析的性需求(这个一般专业做法是使用 BI 系统中的数据 ETL 工具,将数据从生产性环境同步一份到分析服务器上)。有了专门不受生产的数据仓库,再怎么出错,也最多重启一下,数据因这短暂的停止而影响业务进展,同时一般分析性的数据仓库,并发性也不高,也无需苦苦地为了优化一个从 100 秒的等待时间优化为 1 秒这种需要大量的知识储备和专业知识才能完成的高难度任务。结语经过以上的简单梳理,再结合上两篇提及的 Sqlserver 的使用方式(尽可能地使用界面化操作完成降低难度和

20、大量使用外部工具插件提升 SQL 书写的便捷性),自和示例(微软 MSDN 和微软 Learn 等己再入门一些简单的已经非常丰富,易学),相信对于一名数据库新手来说,要往数据分析师方向发展,往前迈出一步学习下 Sqlserver 也是太难的事情。当然笔者也会在日后有限的时间内,尽量一些简单易行、功能强大的个人的知识输出和观点,相信是除了系统学习外一个很好的补充,祝读者朋友们在学习上一路顺利,有问题多回来交流。如果觉得受用,也请多多帮忙的人。给有需要,不限于 Excel,会Sqlserver、dotNET、笔者未来聚焦在数据领域的Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关

21、注。Sqlserver数据分析师有理由爱 Sqlserver 之四-七大数据库测评 Sqlserver 完美胜出虽说各家数据库大同小易,学会一家,其他家都可以很快上手,但和编程语言的选择一样,人的精力有限下,只能深入研究一家的。故在学习之前,认真去评估应该选择哪一家数据库学习,这样的时间也很值得,总比学到一半不断地更换不同所浪费的时间好得多。没有最好的,只有最合适的,此篇同样假设读者们是往数据分析师的方向发展,使用 Windows 系统为主。相关阅读Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐Sqlserver数据分析师有理由爱Sqlserver 之二-像

22、使用 Excel 一般地使用 SqlserverSqlserver数据分析师有理由爱Sqlserver 之三-最值得使有低投入高产出的 Sqlsever真的有必要写入门级功能吗?过前面几篇文章后,有读者反馈需要写一些安装软件的,好正式入手练习。笔者认为,既然已经决定要学,这可不是一时兴起的想法,乃是要真正去下定决心的事情。Sqlserver 作为一款成一样,大量的,已经有 20 年的历史,和我们日常接触的 OFFICE已经可以在网络上找寻到。虽然鱼龙混杂,但笔者最想达到的目标是,通过从过来者经历,给大家带来一些避坑指南(笔者同样是没有技术背景,只会 Excel 的情形下接触 Sqlserver

23、 并学习下来的)。可以无利系地推荐一些阅读过的好书,可以将最刚需最有用的功能,简单,建议读者们去书地串联着给大家方向性的学习指引,但手把手的一些基础性籍或搜索引擎上自行找寻,这也是一名真正的学习者应该走的路线,否则只会被一些不良的人利用,被焦虑之余,还搭上的无数的时间,学习从来没有所谓的 7 天从入门到精通。站在数据分析师的角度看各家数据库前面说过,合适的才是最好的,每家的数据库非绝对性地评论好坏。,在特定群体中是最好的,此处以下主要介绍笔者接触过或听说过的数据库:Excel、Access、Oracle、MySQL、MongoDB 等,也仅仅是笔者知识范围内的观无误。、Sqlserver、,不

24、一定完全客从入门角度考虑许多人觉得数据库离我们很远,普通人哪人本领去驾驭,其实我们天天都在用数据库,只是在 Excel 环境下使用,比较无感,最容易入门的要算 Excel 了,在 Excel 上以数据库的思维去管理、规范数据,即已经用上了一个小型的、易用的、学习成本最低,产出最高的数据库工具。一般来说,从 Excel 可以平滑过渡到 Access,它们同样是 OFFICE 家庭的,也同样是单机版的,并且一般安装完整版 OFFICE,都很容易找到 Access。所以论入门上手性,Access 应该仅次于 Excel,同样是非常容易入门学习的(但遗憾的是作为分析性需求,Access 学习的性价比不

25、高,但市面的发简单系统的开发者视角去讲解)。基础只会从开和 Access 对标的数据库有,非常流行的文件型单机版数据库,在专业开发者领域大受欢迎,但因其只在专业开发者领域有作厚的数据库背景。来专业开发者已经有了深所以网络上的大家类比在,可能已经假设性地读者已经有了其他数据库使用经验,只是带上同等功能的实现方式是什么,所以不一定入门写得让普通人容易理解和掌握,并且有一些硬伤致使我们去使用它,后面会提及。在服务器版的数据库中,大家看排名可以看到大概就是 Sqlserver,MySQL、Oracle 这几家,同时有大数据所使用的 MongoDB。这个排名是综合性的应用,并非指数据分析师群体所应该照搬

26、接受的,需要有辩证性思维。在服务器级别的数据库中,学习成本都较高,各家学习的。也只能从中挑选最值得从微软一直所诉求的让用户更容易、更低门槛使用自家的,这个学习成本上,毫无悬念地是 Sqlserver 是最低的学习成本,并且就微软自家也出了不少的教程,有任何问题都可以轻松地在博客文章介绍。文档上找到,当然还有大量的书箱和网络从成本角度看数据库有分商业和,其实对我们数据分析师的场景来说,并未使用到许多高级的功能和高性能的要求,所以按常理说,已经够我们使用。市场上的数据库的热门程度,也很大程度上因为一些开源、的所追捧。但有时的就是最贵的,对于数据分析师的群体,对数据库的所需功能并不多,也并非要像专业

27、开发者那样去选择 MySQL 这些的数据库。在 Sqlserver 上,同样有版可用于商业用途,如 Sqlserver Express、或更小的 Sqlserver LocalDB等,该有的数据分析类功能一个都不少。通常来说, 应该使用 优秀的企业的东西,功能都不及商业完善,学习和使用成本更高。是否的是公司层面的事情,若个人学习的需要,没必要较劲于此, 成本当作是负担,相反是带来价值和回报的。把在云里,的使用是租用的方式,无需单次买断式,成本其实也降低许多,例如数据库的服务,在云里也完全是正版化,可以合规使用,例如Sqlserver 的数据库,在 Azure 云上,对于数据分析类需求,无需长期

28、性开启服务,在 Azure 按时间的模式,性价比非常高,后续会单独开文讲述。在历史下,MySQL 因支持多平台部署,特别是 Linux 系统可用,才能让众多互联网企业所追捧,可以免数据库和操作系统的成本。但在数据分析师的场景下,这都不是什么事,谁会觉得用个 Linux 系统来做数据分析是正解。况且如今是云,更没优势可言。从功能角度看虽说数据分析的场景,使用的功能无需太复杂,但同样地站在数据分析的视角,在使用和数据分析相关的功能上,各大数据库的差异还是非常明显。在单机版的 Excel、Access、上,其 SQL功能非常弱,面对数据分过程,这将会使复杂的析的需求,几乎可以跳过,不予采用,特别是没

29、有无从开展。同时这些单机版数据库,面对复杂,也将会死机的状况,因其设计只是少量数据的功能为主。而在主流的 MySQL、Oracle、Sqlserver 上,理当选择 Sqlserver,在有同等功能上, Sqlserver 永远是最容易学习和使用的,况且他们的功能也是不对等的。先撇开 Oracle 可能会同样有相同的对等功能,毕竟是商业性数据库,同质化会比较严重,没有什么独特功能是对方所独有的。但使用 Oracle 的企业群体是大型企业,费用极其高昂,Oracle 法务团队极其庞大、云显等特点,希望作为数据分析师的尽早远离。下其颓式明在 MySQL 和 Sqlserver 的对比上,在数据分析

30、的功能层面上,也是将 MysQL 拉开一大距离,在最新版 MySQL 已经支持窗口分析函数,这也算是差距略有减少。在 Sqlserver 中,拥有丰富的原生功能和非常易用的使用体验(毕竟是商业,这个不用思考都可知道),还可以得天独厚地和自身的 WinDows、OFFICE、.NET语言环境等紧密相关。在 Oracle 上有,而 Sqlserver 上没有的常规功能,只要使用 Sqlserver 的CLR 程序集扩展功能,都不是什么难的事,并且实现的效果更佳,例如在数据库层面使用正则表达式来数据,这是数据分析师们很大的刚需功能。在后续的推广中也将给大家详细展开讲解。同样地,因数据分发过程中,绝大

31、部分的最终数据消费群体都是 Windows 用户,数据分析师整理好的数据源、报表结果,需要分发到终端用户上使用时,如果想保持数据分发的连接性,即可让终端用户自助式与数据库内容交互等操作,例如 一个非常广泛的场景是在 Excel 上交互使用(详细见 Excel 催化剂与数据库交互篇, 在第 19、20、21 波上有讲述)。第 19 波-Excel 与 Sqlserver 零门槛交互-篇第 20 波-Excel 与 Sqlserver 零门槛交第 21 波-Excel 与互-数据上传篇Sqlserver 零门槛交互-执行 SQL 语句在这个层面上,任何其他微软系以外的数据库都有一大痛点,Windo

32、ws 系统不自带这些数据库的驱动程序,若要连接,必须安装相应的驱动,安装过程有时也是充满坑坑洼洼的。多一个环节的,让数据分发的工作带来十分大的阻碍,特别是需要额外安装一B/S 架构的系统得以流行的很大些程序包时,这也是让,让客户来得方便。需要各种条件来满足,势必不如只需一个人人都有的浏览器即可但这些在数据分析师的场景下,使用 Windows+Sqlserver+OFFICE 的组合,都不是问题,最终用户肯定是使用 Windows 系统的,肯定有 OFFICE 软件(WPS 也是 可以的,因驱动是操作系统提供的,WPS 无新事也是用的 OFFICE 这套的数据连接接口),用户直接连接 Sqlse

33、rver 数据库,无需额外安装驱动程序,这是选择Sqlserver 的非常重要的之一。从数据处理分析性能角度看常常在 Excel 上使用较大数据量进行分析处理时,一大痛苦是需要经历漫长的等待, 毕竟单机版的设计初衷就不是为了应付大数据的(在 Excel 的自助式 BI 模块如 PowerPivot、PowerQuery 上会有很大的性能)。同样地在 Access 上亦有这种情况,经常运行过程中显示无响应,需要强制性任务管理器终止程序。在服务器级别的上,就不存在这种情况,如 Sqlserver,就算安装在同样的普通桌面电脑上,也很少会出现死机情况(死机也只是 SSMS 客户端死机,关了它也不影响

34、数据库,也一般很少会丢失数据)。所以站在长远的角度,从性能上考虑,都应该云接触并使用一下服务器级别的数据库如 Sqlserver、Oracle 这些,并且服务器级别一个很大好处是数据可安全管控,并且可轻松进行分发(只需其他电脑通过用户名、连接进来即可,无需单机版那样数据源文件)。桌面级别的数据处理,Excel 在 10 万级别,Access 在 100 万级别,Sqlsever 轻松驾驭 1000 万级别的数据量。在商业智能 BI 场景上看现今已然是自助式分析的,传统 IT 主导的报表系统开发,已逐渐被自助式 BI 的浪潮所侵蚀,越来越多的业务分析师主导的报表开发被兴起,使用 PowerBI

35、或Tableau 等自助式 BI 工具,可以快速开发出非常强大,易用、强交互的数据可视化报表。在 Sqlserver 上,非版的标准版、企业版中,自带商业智能分析模块,并且是性提供,了数据库,即可使用,无需额外增加费用。这是微软的一大良心服务,对数据分析师来说,这是非常难得的机遇可以合规性地在过即可,大Sqlserver的企业商业智能模块(个人学习使用,无需可放心使用)。前面提到的自助式 BI 工具如 PowerBI,充其量只是一个部门级的,若上升到企业级的,对标的是 Sqlserver 的商业智能模块如 SSIS(数据 ETL 工具)、SSAS(完整的数据建模分析服务)、SSRS(已经被 P

36、owerBI Report Server 所取代)。关于这些主题的展开,在后续推文中再详细讲解。数据分析的输出,使用 BI 模型的输出是一个非常不错的选择,毕竟最终用户使用数据过程中,若没有强交互性的提供,参与感太弱,而数据分析师也不可能深入到业务的方方页面,最终数据呈现在业务管理者手中比在分析师手中更能看出问题点, 更能让数据产出价值指导实际运营。在自助式 BI 工具 PowerBI 的学习过渡到企业级 BI 的 Sqlserver BI,相信也是为数不少的数据分析师们的选择,这也是笔者能够输出知识的一个领域,后续可给大家带来的推广介绍。结语从以上多个角度云展开分析,从数据分析的视角来看,没

37、有人会拒绝 Sqlserver 而选择其他数据库(当然客观条件公司不这没得选择)。特别是初次接触数据库,想从 Excel 的使用过渡到更强大的数据管理、处理、分析的工具数据库上,Sqlserver 更是无二的选择。,不限于 Excel,会Sqlserver、dotNET、笔者未来聚焦在数据领域的Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关注。Sqlserver数据分析师有理由爱 Sqlserver 之五-数据库环境使用正则表达式不再是梦在数据分析师群体中,使用正则表达式数据源是一个非常刚需的需求,谁也不能期望拿到手的数据源是多么干净整齐的,特别是在网络世界中抓取回来的数据

38、。字符串的处理能力再强,没有正则表达式,许多场景也是为力。 在Excel 催化剂插件上,让 Excel 用户可以在Excel 环境上使用正则表达式,在 Sqlserver 数据库环境下,更能使用,性能更佳,此篇带大家进入数据库存的正则表达式。背景介绍关于正则表达式如何使用,网上上也是铺天盖地的学习资料,这里不作展开。对于数据分析师来说,正则表达式的掌握,是一项投入产出比非常高的技能,陪伴一生都能使用上。在数据库级别,可以使用正则表达式,目前据我有限知识范围可知,只有 Oracle和 MySQL 提供原生性支持,但 Sqlserver 却一直都没有。听到这样的消息,貌似给自家所爱的 Sqlser

39、ver 泼了冷水一般,但 Sqlsever 提供了CLR 程序集的扩展支持,正则表达式在.NET 环境下,也是完美地支持。将.NET 的能力迁移到 Sqlserver 上,就如 Excel 催化剂将.NET 的能力嫁接到 Excel 上一般, 无限地扩展,只差想象力罢了。上述提及 Oracle、MySQL 已经支持正则表达式了,但支持不代表全部支持,就如国产的金蝶、 也叫 ERP 软件,但和人家 SAP 比起来,差个十万八千里,数据分析师是以数据说话,就 Oracle、MySQL 所支持的能力,还不如我一个三流开发都写几句.NET 程序封装出来的正则表达式强,特别是 MySQL,更是弱鸡得不行

40、, 只支持一个类似 RegexMatch 的逻辑匹配功能。安装 Sqlserver 的正则表达式程序集扩展对大部分数据分析师而言,他们只需要使用工具,至于开发过程、原理,估计没几个人有,当然有者,网络上也是大量的学习资料,也可以自行学习,此处就提供一个简单的安装,直接一分钟完事,立马使用上。因 Sqlserver 正则表达式的封装和 Excel 催化剂的正则表达式封装原代码一模一 样(bug 和性能也一样,若有更佳的,欢迎也提供一起交流,Excel 催化剂正则函,建议翻阅 Excel 催化剂的推文。数已经开源了),故具体的正则函数的学习安装过程总共两个 sql文件,区别于网络上的复杂安装,笔者

41、提供了原 dll 文件安装以外的直接二进制文件写入 sql中的方式,对于服务器上的安装更加方便dll 到目标服务器等操作)。(无需双击 sql 文件后,默认会以 SSMS 打开,在 Sqlserver 上,可以将自定义函数安装在不同的数据库中,甚至安装在 master 数据库也是可以,一般情况下,只会按需求安装在指定的数据库中即可,先进行数据库选定。在版本如 Sqlserver2017 上,需要额外增加这个 clr strict security 开关的开启,如果低版本执行时,可能会报错,但不影响安装(微软为了安全性也是不断地迭代产品,这个开关,对于安装外来 dll 程序集是一种保护,让数据库

42、更安全)。最后可以在可编程性标量值函数这里找到部署的正则函数,使用时和普通函数的使用无异,按要求传入其参数即可,参数具体的定义参照 Excel 催化剂自定义函数的介绍。第 39 波-DotNet 版的正则处理函数最终的调用效果,传入了包含 ch 字母的匹配条件,即可计算出匹配的结果,1 为真,0 为假。上述提及的两个 sql 文件,可私信笔者获取。结语通过 CLR 程序集功能的扩展,让 Sqlserver 手上.NET 的翅膀,可以无限地扩展Sqlserver 的能力范畴,特别是对数据分析师十分刚需的正则表达式功能,简单几步,即可实现完美的.NET 版本的正则表达式,远远甩开 MySQL 的正

43、则能力,对比Oracle 原生的正则也不输,这就是 Sqlserver 的。在写好的 SQL包含正则表达式的字符串,可以下放到一般的普通用户去消费,无需任务代码级的开发和数据驱动的安装,用 Sqlserver 做数据分发就是这么爽。CLR 函数扩展另还有一个非常刚需的函数为字符串聚合函数,将在下一篇中给予介绍,敬请关注。,不限于 Excel,会Sqlserver、dotNET、笔者未来聚焦在数据领域的Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关注。相关阅读Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐Sqlserver数据分析师有理由爱

44、Sqlserver 之二-像使用 Excel 一般地使用 SqlserverSqlserver数据分析师有理由爱Sqlserver 之三-最值得使有低投入高产出的 SqlseverSqlserver数据分析师有理由爱Sqlserver 之四-七大数据库测评 Sqlserver 完胜Sqlserver数据分析师有理由爱 Sqlserver 之六-让 Sqlserver拥有字符串聚合函数在数据处理过程中,有一需求也是经常性遇到:对字符串的聚合操作,一般来说,聚合类函数只会在数值类型上进行计算,但有时为了人的阅读需求,将字符串进行聚合操作,得到一个用于备注性的信息查阅,还是有必要的。 在Excel

45、环境中,可以用 PowerQuery 轻松实现,但在数据库层面,实现这样的需求也还是颇曲折的。 本篇正要行文时,了一下,竟然最新版 Sqlserver2017 已经支持本篇的实现效果,技术的进步,过往的方案将被丢入封尘角落,不过还好, 是有一点点不是太完美,还可以拿出来再讲解并使用的。实现的效果还使用场景聚合后的字符串,很难再有分析的价值,正如引文所述, 浏览使用。地用来作一些备注性在一个常见的场景中,不同用户分别过哪些的订单,将其所有订单号合并起来展示,这样的需求,就类似于将不同客户的数量汇总一样,只是后者是可真实地相加的汇总,前者是字符串的拼接,中间一般用分隔符隔开方便阅读。虽然说在 Ex

46、cel 环境或 PowerBI 环境可以同样实现这些功能,但有时方案的可行性需要考虑客观情况,用户电脑是否有高版本的 Excel 支持 PowerQuery 或有PowerBI 可使用,若没有时,使用 Sqlserver 上将数据好,直接让用户端调用此的结果,这样就非常有应用价值了。所以很多时候不是会做,时候还要让其他做的人更轻松更低成本地获得所要效果,这就衍生了许多 IT 级的解决方案来了。实现函数Sqlserver以下两个函数,可用于字符串的聚合和重新拆分,都是高版本 Sqlserver 所提供的,STRINGAGG 是 Sqlserver2017 提供,STRINGSPLIT 是 Sql

47、server2016 提供。STRING_AGG (Transact-SQL) - SQL Server | Microsoft Docssql?view=sql-server-2017STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Docssql?view=sql-server-2017自定义函数安装和上一篇一样,只需打开 sql 文件,点击运行即可(因程序集已经在上一篇中安装过,程序集内部已经有此篇的函数,此篇的 sql 只是对程序集内的函数作外部说明,故真正需要使用时,需安装上一篇正则表达式的程序集,再运行本篇的sql)。当安装后

48、,在【可编程性】=【函数】=【聚合函数】的位置会出现本篇所提供的 4 个自定义函数。4 个函数其实都是实现字符串聚合的效果,区别在于,若需要对聚合的字符串进行排序,可以传入排序的依赖列,而依赖列的数据类型不同,所需要使用的函数也不同(水平有限,只能实现到这个地步,的原生函数效果更佳)。比函数实现的一个选项是可以去重,在实际需求中,去重的效果还是蛮常见的需求。最后也演示下的单行拆多行的效果结语本篇带领大家领略 Sqlserver 的CLR 开放接口,让.NET 的能力可以在 Sqlserver 得到延伸,区别于正则函数属于标量函数,本篇的自定义函数属于聚合函数。虽然说 Sqlserver 在新的

49、版本里不断地加入新的功能,但作为企业级环境,一般更换升级数据库版本,不像更换 OFFICE 软件那么容易,涉及到生产业务系统的切换大工程,同时也是产生沉重的成本负担的。一般来说都是将用到尽头,即微软宣布不再维护如 2019 年宣Sqlserver2008R2 已到生命周期,停止维护了企业才有动力去更换。当然对于业务分析类需求,自行安装一个用于分析类需求的数据库,切换成本就很低,可以尽可能地升级到最新版本享受高版本强大功能的红利。没有这样的条件,使用自行 CLR 扩展也是一条非常可行的路线,另外可以尝试下类似 OFFICE365 那样永远保持最新版本的 Azure SQL,也是非常棒的体验,永远

50、最新版,不用担心切换升级的成本和风险。,不限于 Excel,会Sqlserver、dotNET、笔者未来聚焦在数据领域的Azure、PowerBI 等话题,升级数据分析的能力,欢迎继续关注。相关阅读Sqlserver数据分析师有理由爱 Sqlserver 之一-好用的插件工具推荐Sqlserver数据分析师有理由爱Sqlserver 之二-像使用 Excel 一般地使用 SqlserverSqlserver数据分析师有理由爱Sqlserver 之三-最值得使有低投入高产出的 SqlseverSqlserver数据分析师有理由爱Sqlserver 之四-七大数据库测评 Sqlserver 完胜S

51、qlserver数据分析师有理由爱Sqlserver 之五-数据库环境使用正则表达式不再是梦Sqlserver数据分析师有理由爱 Sqlserver 之七-最刚需的数据导入导出功能-导入篇作为数据分析师的,数据库的作用是帮助数据和需要时可以导出所需数据的用途,这个用途在数据量一大时,不采用数据库方案是没有办法做到一个完美效果的,所以就算不深入了解数据库其他功能,单单数据导入导出功能,对一名的数据分析师来说,是必备的本领。 鉴于笔者所接触到的读者群体偏向 Excel 用户的业务导向的群体,此篇可能部分内容对熟悉数据库的群体过于简单,同时为了完整性的方案介绍,某些方法对 Excel 用户群体也是过

52、于晦涩,直接跳过有个印象即可。现实场景在数据消费端,就算是数据分析师的,对于正规的公司来说,都轻易地开发数据库的权限给到终端用户,绝大部分的场景只会是给予导出 Excel、csv等文件格式的权限,并且通常来说,导出的数也是有限制的,导出量太大,应用程序负荷过重,是不的。同样的如果是外部数据,若非 IT 级别的系统间,更加只剩下导出文件的数据接口,根本不可能会给到数据库底层的可能性,例如天商的各大平台的订单数据、访客数据、商品浏览数据等(可以使用爬虫去抓取,但成本也很高,平爬技术深严,是个很大的技术活)。但数据分析过程中,不可能是孤立地看某一份文件的数据进行分析,数据量太少, 且特别是时间维度上

53、的不连贯,没法分析最有价值的同比、环比、累计等指标数据, 没有对比就没有分析,若没有一份完整性的数据源,谈何数据分析。所以数据分析师很大的刚需是将零散的文件型数据重新整合起来,放到数据库中进行集中式存放(Excel 的容量有限,就算现在 PowerBI 技术的加入,也不能有一个完美的数据集中式管理并按需提取所需数据的效果)。实现方式不同的场景,可以有不同的方案选择,有些方案复杂化了,但在某些场景上, 其他条件不具备时,有这些方案也是很让人舒畅的,读者们可以先大概知晓一下, 在有条件实施容易的方案时,就暂没必要太细究复杂的方案,到用时再详细查阅文档用法。Excel 进行数据合并后再上传前面提到的

54、,一般导出的文件都是零散化的,没法一口气导出太多的历史数据,在零散的相同结构的文件数据,将其重新合并为一张连贯性的数据表,这一步骤在PowerQuery 之前,有大量的 Excel 插件提供合并工作薄功能(Excel 催化剂也不例外,同样有合并工作薄,不过是基于 PowerQuery 常规处理数据的方案,能够使用 PowerQuery 的优先使用)。的一些特殊脏乱的在 PowerQuery轻量级 ETL 工具出现后,基本上其他第 3 方插件的合并功能都会被取代完(没有条件用 PowerQuery 的可以使用,但数据分析师的,没有手头的工具,最基本的将 Excel 的版本更新到最新版,享受最新理

55、由不给版的高级功能红利)。具体 PowerQuery 如何多文件合并的操作,自行查阅相关资料,非常易学,投入产出比极大。Sqlserver 数据导入向导功能对数据有一定了解的人都知道,数据是有数据类型的区分,特别是在数据库层面更是如此,在 Excel 上虽然有数据显示格式的设置,但它不强制进行数据转换,在导入数据库的过程中,同一列的数据,只能保留一种的数据类型,所以在 Excel 表格上的数据,需要自行进行数据规范,若同一列数据包含数字和文本格式时,最好将其数据格式高速为文本格式。选择需要导入到的数据库,鼠标右键可进入导入数据向导,如下图。这里的导入导出向导,是对 Sqlserver 的专业 ETL 工具 SSIS 的一些界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论