「Sqlserver」数据分析师有理由爱Sqlserver之八-最刚需的数据导入导出功能-导出篇

December 17, 2023
测试
测试
测试
测试
2 分钟阅读

继续上篇的导入篇之后的运作是导出,数据趟在数据库里,永远也发挥不出价值,这也是绝大多数业务系统的现状,经过系统增删改查后,辛苦生产出来的规范的数据,没能让其发挥应有的价值-数据指标运营。 打造数据化运营的企业文化,也将是现金企业竞争的核心竞争力所在,数据分析师理由肩负重任,做好有价值的数据结果分发指导运营。

现实状况

和前一篇提及的,数据在各业务系统里的导出接口十分单一,大部分是一些Excel导出的功能。

如果没有上一篇数据分析师自行进行数据整合,重新建立数据仓库,整合各种零散的数据,让数据孤岛的现象得到减缓(各种业务系统各自为政,只对自己系统内数据负责,没法多系统间数据共享,更有大量手工维护的数据,最终形成了各个数据间不相连的孤岛现象),在数据分析上也绝对不能产生多大价值。

所以此篇讨论的数据导出,是指数据分析师进行数据整合后的数据输出过程,非单一的业务系统的简单的Excel导出功能接口。

数据导出的实现方式

不同的场景,可以使用不同的方式来对数据进行输出,以下简单罗列下各种方法,并附上一些个人的见解。

直接SSMS查询结果导出

一般情况下,进行验证性查询时,查询到的结果,只需CTRL+A全选后,再鼠标右键即可复制,再到Excel上粘贴即可导出到Excel。

复制SSMS查询结果

这样的好处是临时性数据导出,步骤少,因在SSMS查询结果区查看数据,不及Excel那样灵活方便,数据复制到Excel中,下一步查找、筛选、排序等操作都是界面化非常流畅地操作,很适合用于检验性的分析和一次结果输出,不再复用的场景。

粘贴到Excel时,Excel默认的数据格式是【常规】,若某些数字型字符,会出现前导0被清除的情况,此时可对这些列进行文本数据格式调整,再重新覆盖原位置粘贴多一次即可。同时真空的数据会出现NULL字样,需要Excel查找替换处理下。 同样地其实刚才的步骤亦可进行csv输出,但一般来说必要性不大,直接复制过程,列数不多时,10万+的数据量都可以轻松粘贴出来,临时性数据也不会太多情形会有大量的数据,实在有,也会使用其他方案更可行。

image.png

Excel直连Sqlserver数据库获取数据

因为Windows、OFFICE、Sqlserver同出于微软,所以在系统级别,只要安装了OFFICE,就已经自带访问Sqlserver数据驱动,无需在客户机上操劳半天配置驱动环境,单单这一点,带来无限的便利,也是笔者力荐的方式。

作为数据分析师,访问数据库的能力是必备的,可以从Excel或其他客户端找到相应的操作接口,如下图的Excel连接Sqlserver的方式(低版本Excel的位置有些不一样,可自行调整)。

Excel连接Sqlserver方式

一般来说,只需按提示输入数据库的服务器地址,用户密码,然后找到对应数据存储的表或视图或存储过程即可。

值得一提的是新版本的Excel连接Sqlserver等外部数据时,已经转换为使用PowerQuery的方式来加载,对数据库获取查询更加简单、灵活,同时是界面化条件查询,对SQL语句的要求更低。

新版本Excel直接调用PowerQuery来查询数据

在旧版本Excel中,使用OLEDB的方式,如果不是一个小表,最好使用命令类型为:SQL,然后在命令文本中写SQL查询,否则数据量大,可能Excel工作表不能完全存放(用透视表输出就没问题)。

旧版本Excel以OLEDB数据引擎连接Sqlserver

另外补充的是,Excel连接不止于可以连接Sqlserver表或视图,或直接写SQL查询,甚至可以直接放一个存储过程,还可以传入参数,这样就极大地满足了复杂查询结果的输出。

新版的PowerQuery查询调用存储过程

旧版的OLEDB查询调用存储过程

Excel催化剂插件实现低门槛Sqlserver数据查询

有关注过Excel催化剂插件的读者们,应该对Excel与Sqlserver交互的相关插件扩展有些许的了解,具体作用是可以让终端用户使用Sqlserver时,更加智能,无需掌握SQL知识,仍然可以自如地在数据库中查询到相关的内容,对Excel版本没有特定要求,极大地满足了数据分发过程中,让终端普通用户借助插件的作用,轻松访问到Sqlserver内部数据的能力。

具体的介绍可参照Excel催化剂功能介绍第19波 第19波-Excel与Sqlserver零门槛交互-查询篇

其他客户端工具连接数据库

除了Excel连接数据库,还有无数的数据工具,同样可以连接数据库获取数据,如自助式BI工具的PowerBI和Tableau,连接方式大同小异,和Excel类似,这里不展开。

其他数据导出方法

和数据导入篇一样,数据导出,也可以使用专业的ETL工具SSIS实现,更加专业和流程自动化,同样也可使用BCP数据导入导出工具完成,但操作略显复杂,对普通数据分析师没太大使用价值,这里不作展开。

结语

数据的二次消费,特别是数据分析师对数据进行整合、清理、转换后,可以带来更大的数据洞察价值的数据。若使用Sqlserver作数据库,起码在桌面端工具上有天然的优势,特别是已然成为数据分析标准的Excel上作数据输出,通过活动的数据连接的方式,保持和数据库有连接的状态,需要新数据仅需简单刷新即可获取到。

正因为有了Excel这样的无缝连接的便利性,笔者才会如此强烈地推荐在数据库选择上坚定地拥挤Sqlserver。毕竟数据分析展现端,不是B/S架构所擅长的,数据无论如何都要回到熟悉的Excel环境才能被最终彻底消费。

笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多