加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据分析师有理由爱Sqlserver之七

发布时间:2022-10-06 15:39:08 所属栏目:MsSql教程 来源:
导读:  作为数据分析师的角色,数据库的作用是帮助存储数据和需要时可以导出所需数据的用途,这个用途在数据量一大时,不采用数据库方案是没有办法做到一个完美效果的,所以就算不深入了解数据库其他功能,单单数据导入
  作为数据分析师的角色,数据库的作用是帮助存储数据和需要时可以导出所需数据的用途,这个用途在数据量一大时,不采用数据库方案是没有办法做到一个完美效果的,所以就算不深入了解数据库其他功能,单单数据导入导出功能,对一名合格的数据分析师来说,是必备的本领。
 
  鉴于笔者所接触到的读者群体偏向Excel用户的业务导向的群体,此篇可能部分内容对熟悉数据库的群体过于简单,同时为了完整性的方案介绍,某些方法对Excel用户群体也是过于晦涩,直接跳过有个印象即可。现实场景
 
  在数据消费端,就算是数据分析师的角色,对于正规的公司来说,都不会轻易地开发数据库的访问权限给到终端用户,绝大部分的场景只会是给予导出Excel、csv等文件格式的权限,并且通常来说,导出的记录数也是有限制的,导出量太大,应用程序负荷过重,是不允许的。
 
  同样的如果是外部数据,若非IT级别的系统间数据交换,更加只剩下导出文件的数据接口,根本不可能会给到数据库底层访问的可能性,例如天商的各大平台后台的订单数据、店铺访客数据、商品浏览数据等(可以使用爬虫去抓取,但成本也很高,平台反爬技术深严,是个很大的技术活)。
 
  但数据分析过程中,不可能是孤立地看某一份文件的数据进行分析,数据量太少,且特别是时间维度上的不连贯,没法分析最有价值的同比、环比、累计等指标数据,没有对比就没有分析,若没有一份完整性的数据源,谈何数据分析。
 
  所以数据分析师面临很大的刚需是将零散的文件型数据重新整合起来,放到数据库中进行集中式存放(Excel的容量有限,就算现在PowerBI技术的加入,也不能有一个完美的数据集中式管理并按需提取所需数据的效果)。
 
  实现方式
 
  针对不同的场景,可以有不同的方案选择,有些方案复杂化了,但在某些场景上,其他条件不具备时,有这些方案也是很让人舒畅的,读者们可以先大概知晓一下,在有条件实施容易的方案时,就暂没必要太细究复杂的方案,到用时再详细查阅文档用法。
 
  Excel进行数据合并后再上传
 
  前面提到的,一般导出的文件都是零散化的,没法一口气导出太多的历史数据,在零散的相同结构的文件数据,将其重新合并为一张连贯性的数据表,这一步骤在PowerQuery之前,有大量的Excel插件提供合并工作薄功能(Excel催化剂也不例外,同样有合并工作薄,不过是基于PowerQuery常规处理困难的一些特殊脏乱的数据的方案,能够使用PowerQuery的优先使用)。
 
  在PowerQuery官方轻量级ETL工具出现后,基本上其他第3方插件的合并功能都会被取代完(没有条件用PowerQuery的可以使用,但数据分析师的角色,没有理由不给自己武装手头的工具mssql数据库导出,最基本的将Excel的版本更新到最新版,享受最新版的高级功能红利)。
 
  具体PowerQuery如何多文件合并的操作,自行查阅相关资料,非常易学,投入产出比极大。
 
  Sqlserver数据导入向导功能
 
  对数据有一定了解的人都知道,数据是有数据类型的区分,特别是在数据库层面更是如此,在Excel上虽然有数据显示格式的设置,但它不强制进行数据转换,在导入数据库的过程中,同一列的数据,只能保留一种的数据类型,所以在Excel表格上加工的数据,需要自行进行数据规范,若同一列数据包含数字和文本格式时,最好将其数据格式高速为文本格式。
 
  选择需要导入到的数据库,鼠标右键可进入导入数据向导,如下图。
 
  mssql数据库里表的内容加密_mssql拖库脚本_mssql数据库导出
 
  导入数据向导入口
 
  这里的导入导出向导,是对Sqlserver的专业ETL工具SSIS的一些界面式的封装,内核用到的是SSIS的能力。
 
  一般数据导入、导出,需要重点告之程序的内容为:数据源是什么类型,数据源在哪里,具体对应到哪个表(Excel有多个工作表或其他数据库也有多个表),要导入到目标数据库的哪个数据库(一个Sqlserver可以有多个数据库对象),导入的目标表的定义(字段名和数据源表的匹配映射关系,数据类型是什么)。
 
  有了新晰的以上的规划和理解,微软就会以最友好的界面化的向导来帮助我们将内容填写到对应的位置。
 
  mssql数据库里表的内容加密_mssql数据库导出_mssql拖库脚本
 
  数据源确认
 
  目标可选择SQL Native Client,如果导入的数据有问题,可以更换为OLEDB For Sqlserver,后者兼容度更高。
 
  服务器的登录信息,如查本机的Sqlserver,可以直接用Windows帐号登录即可,否则可能需要输入目标服务器的登录信息。
 
 
  目标服务器信息
 
  导入的内容部分,可整个表导入,亦可写SQL查询导入部分数据,一般来说整个表导入即可,数据进到Sqlserver,再想怎么修改调整都容易。
 
  mssql数据库里表的内容加密_mssql拖库脚本_mssql数据库导出
 
  导入的内容部分确认
 
  接下来就是字段的匹配映射信息确认,点击【编辑映射】可看到详细内容,一般默认也可以,反正数据进到数据库再调整也不晚,分析类需求,也不用太纠结数据类型是否最省空间,稍微冗余一些也无所谓。
 
  mssql数据库里表的内容加密_mssql拖库脚本_mssql数据库导出
 
  字段的匹配映射信息确认
 
  到此步提示保存包之类的操作,不理会即可,是为了可复用准备而已,但笔者也没找到相应的复用方式,真正要复用,更科学的是用SSIS来做一个完整的包,日后有机会再给大家分享。
 
 
  选择立即运行即可
 
  感谢微软的体贴,这么多的步骤,在向导的一步步引导下,几乎可以零门槛去掌握它,全程界面操作,这就是微软风。
 
 
  完美的向导操作,帮助我们完成了多个信息的配置
 
 
  所有数据增量导入到目标表$sheet1中
 
  一般来说,SSMS没有及时更新到刚刚我们创建的新表sheet1,需要点击表对象右键刷新下即可显示出来。
 

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!