还是想问下,勤 哲Excel服务器数据通过网页将文件导入云服务器和导出功能有没有?


作为数据分析师的角色,数据库的作用是帮助存储数据和需要时可以导出所需数据的用途,这个用途在数据量一大时,不采用数据库方案是没有办法做到一个完美效果的,所以就算不深入了解数据库其他功能,单单数据导入导出功能,对一名合格的数据分析师来说,是必备的本领。
鉴于笔者所接触到的读者群体偏向Excel用户的业务导向的群体,此篇可能部分内容对熟悉数据库的群体过于简单,同时为了完整性的方案介绍,某些方法对Excel用户群体也是过于晦涩,直接跳过有个印象即可。
现实场景在数据消费端,就算是数据分析师的角色,对于正规的公司来说,都不会轻易地开发数据库的访问权限给到终端用户,绝大部分的场景只会是给予导出Excel、csv等文件格式的权限,并且通常来说,导出的记录数也是有限制的,导出量太大,应用程序负荷过重,是不允许的。同样的如果是外部数据,若非IT级别的系统间数据交换,更加只剩下导出文件的数据接口,根本不可能会给到数据库底层访问的可能性,例如天商的各大平台后台的订单数据、店铺访客数据、商品浏览数据等(可以使用爬虫去抓取,但成本也很高,平台反爬技术深严,是个很大的技术活)。但数据分析过程中,不可能是孤立地看某一份文件的数据进行分析,数据量太少,且特别是时间维度上的不连贯,没法分析最有价值的同比、环比、累计等指标数据,没有对比就没有分析,若没有一份完整性的数据源,谈何数据分析。所以数据分析师面临很大的刚需是将零散的文件型数据重新整合起来,放到数据库中进行集中式存放(Excel的容量有限,就算现在PowerBI技术的加入,也不能有一个完美的数据集中式管理并按需提取所需数据的效果)。实现方式针对不同的场景,可以有不同的方案选择,有些方案复杂化了,但在某些场景上,其他条件不具备时,有这些方案也是很让人舒畅的,读者们可以先大概知晓一下,在有条件实施容易的方案时,就暂没必要太细究复杂的方案,到用时再详细查阅文档用法。Excel进行数据合并后再上传前面提到的,一般导出的文件都是零散化的,没法一口气导出太多的历史数据,在零散的相同结构的文件数据,将其重新合并为一张连贯性的数据表,这一步骤在PowerQuery之前,有大量的Excel插件提供合并工作薄功能(Excel催化剂也不例外,同样有合并工作薄,不过是基于PowerQuery常规处理困难的一些特殊脏乱的数据的方案,能够使用PowerQuery的优先使用)。在PowerQuery官方轻量级ETL工具出现后,基本上其他第3方插件的合并功能都会被取代完(没有条件用PowerQuery的可以使用,但数据分析师的角色,没有理由不给自己武装手头的工具,最基本的将Excel的版本更新到最新版,享受最新版的高级功能红利)。具体PowerQuery如何多文件合并的操作,自行查阅相关资料,非常易学,投入产出比极大。Sqlserver数据导入向导功能对数据有一定了解的人都知道,数据是有数据类型的区分,特别是在数据库层面更是如此,在Excel上虽然有数据显示格式的设置,但它不强制进行数据转换,在导入数据库的过程中,同一列的数据,只能保留一种的数据类型,所以在Excel表格上加工的数据,需要自行进行数据规范,若同一列数据包含数字和文本格式时,最好将其数据格式高速为文本格式。选择需要导入到的数据库,鼠标右键可进入导入数据向导,如下图。导入数据向导入口这里的导入导出向导,是对Sqlserver的专业ETL工具SSIS的一些界面式的封装,内核用到的是SSIS的能力。一般数据导入、导出,需要重点告之程序的内容为:数据源是什么类型,数据源在哪里,具体对应到哪个表(Excel有多个工作表或其他数据库也有多个表),要导入到目标数据库的哪个数据库(一个Sqlserver可以有多个数据库对象),导入的目标表的定义(字段名和数据源表的匹配映射关系,数据类型是什么)。有了新晰的以上的规划和理解,微软就会以最友好的界面化的向导来帮助我们将内容填写到对应的位置。数据源确认目标可选择SQL Native Client,如果导入的数据有问题,可以更换为OLEDB For Sqlserver,后者兼容度更高。服务器的登录信息,如查本机的Sqlserver,可以直接用Windows帐号登录即可,否则可能需要输入目标服务器的登录信息。目标服务器信息导入的内容部分,可整个表导入,亦可写SQL查询导入部分数据,一般来说整个表导入即可,数据进到Sqlserver,再想怎么修改调整都容易。导入的内容部分确认接下来就是字段的匹配映射信息确认,点击【编辑映射】可看到详细内容,一般默认也可以,反正数据进到数据库再调整也不晚,分析类需求,也不用太纠结数据类型是否最省空间,稍微冗余一些也无所谓。字段的匹配映射信息确认到此步提示保存包之类的操作,不理会即可,是为了可复用准备而已,但笔者也没找到相应的复用方式,真正要复用,更科学的是用SSIS来做一个完整的包,日后有机会再给大家分享。选择立即运行即可感谢微软的体贴,这么多的步骤,在向导的一步步引导下,几乎可以零门槛去掌握它,全程界面操作,这就是微软风。完美的向导操作,帮助我们完成了多个信息的配置所有数据增量导入到目标表$sheet1中一般来说,SSMS没有及时更新到刚刚我们创建的新表sheet1,需要点击表对象右键刷新下即可显示出来。刷新操作目标表数据已填充,源数据顺利导入到Sqlserver中,按我们向导设计的规则,表名、字段名、字段类型等都自动生成了(这些后续都可以修改如表名改个有意义的名字,字段名、字段类型也可修改,通常用视图来完成这些修改并输出较合适)。目标表已有数据链接服务器方式导入上述方式导入的数据,对于一次性导入,不会再修改更新,是比较合宜的,若想长期引用一份Excel文件或其他csv文件的数据,当源文件更新了,在Sqlserver上可以同步更新到位,不妨试试链接服务器功能。链接服务器几乎可以链接主流的数据库和文件数据如Oracle、MySQL、ACCESS、xlsx、csv等,这里不提供详尽方法,有此方面需要自行查阅资料。之前的Sqlserver通过DAX查询访问SSAS数据模型亦有提及过,步骤也是和上述一样纯界面化操作,非常友好。对于源数据较大时,Excel单一工作表不能完整存放,不想多次分拆表格,可以考虑将数据在PowerQuery的处理结束后存放到PowerPivot上(此方案只能用PowerBIDesktop),再用前面介绍到的DAX查询的方式直接抽取到Sqlserver上,不过步骤也同样有点多,自行去根据实际情况去作选择。使用行集函数当上述的链接服务器做好后,可以直接使用行集函数OPENQUERY来查询源数据。若没有权限创建链接服务器,也可使用其他OPENDATASOURCE、OPENROWSET等函数来创建,可能还是会有权限问题,文件要在Sqlserver安装的机器上,如果是共享文件夹路径的方式,方案又复杂许多(IT型解决方案就是这样,看似很简单的,但要考虑的因素多了,就不会想像中那么容易实现出来,但真正实现了,又保障了安全,又有稳定性、准确性保障)具体的使用方法可查阅官方文档或其他博客类文章介绍。https://docs.microsoft.com/zh-cn/sql/t-sql/functions/rowset-functions-transact-sql?view=sql-server-2017SSIS数据导入方式SSIS是专业的ETL工具(Extract数据抽取、Transform数据转换、Load数据加载),对于数据导入的功能,也是非常详尽,上述的向导也是最终转换为SSIS包的方式来实现,在SSIS上进行操作,更加灵活、强大,无论是数据源、目标数据存放的选择面都大很多,几乎可以将数据从任意源位置移动存放到任意目标位置。Excel催化剂数据导入功能使用Excel催化剂插件,可以让一般性的普通用户,快速将手头手工维护的数据源导入到数据库内,速度性能都非常理想,同时满足了低门槛,无需数据库技术背景。只需有稍懂数据库的人员一起配合在数据库同步创建对应的表,即可让用户端快速、准确、方便地将其数据导入到Sqlserver数据库内,为企业内的数据整合带来了一个新的思路(大部分的数据应用方案仅停留在系统内数据,人工维护的最重要的数据很难被复用和进到数据仓库这样的环境)。具体可参照Excel催化剂的功能介绍问题第20波。第20波-Excel与Sqlserver零门槛交互-数据上传篇 https://www.jianshu.com/p/d63c5d14ebb7其他方法其他方法更少使有到,在某些特定场景上,以上方式都不太可行,或性能不满足时,可以参考下下面的方法。使用BULK INSERThttps://docs.microsoft.com/zh-cn/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017使用BCP工具https://docs.microsoft.com/zh-cn/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server?view=sql-server-2017结语条条大道通罗马,在数据导入的过程中,本篇给大家做了一些方法性的介绍,特别对大众化使用到的数据导入导出向导进行详细操作演示,帮助普通Excel用户群体不用太过恐惧于Sqlserver这样的专业数据库,一样只需按步就班跟着教程走下来,也能实现自己想要的导入效果。同时也提供了其他方法的简短介绍,在不同需求上,可以灵活地使用,建议只需简单了解,真正要用时再详细学习,减少学习负担。本篇为导入数据篇,同样刚需的导出数据,将在下一篇进行讲解,欢迎继续关注。笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。

继续上篇的导入篇之后的运作是导出,数据趟在数据库里,永远也发挥不出价值,这也是绝大多数业务系统的现状,经过系统增删改查后,辛苦生产出来的规范的数据,没能让其发挥应有的价值-数据指标运营。打造数据化运营的企业文化,也将是现金企业竞争的核心竞争力所在,数据分析师理由肩负重任,做好有价值的数据结果分发指导运营。
现实状况和前一篇提及的,数据在各业务系统里的导出接口十分单一,大部分是一些Excel导出的功能。如果没有上一篇数据分析师自行进行数据整合,重新建立数据仓库,整合各种零散的数据,让数据孤岛的现象得到减缓(各种业务系统各自为政,只对自己系统内数据负责,没法多系统间数据共享,更有大量手工维护的数据,最终形成了各个数据间不相连的孤岛现象),在数据分析上也绝对不能产生多大价值。所以此篇讨论的数据导出,是指数据分析师进行数据整合后的数据输出过程,非单一的业务系统的简单的Excel导出功能接口。数据导出的实现方式不同的场景,可以使用不同的方式来对数据进行输出,以下简单罗列下各种方法,并附上一些个人的见解。直接SSMS查询结果导出一般情况下,进行验证性查询时,查询到的结果,只需CTRL+A全选后,再鼠标右键即可复制,再到Excel上粘贴即可导出到Excel。这样的好处是临时性数据导出,步骤少,因在SSMS查询结果区查看数据,不及Excel那样灵活方便,数据复制到Excel中,下一步查找、筛选、排序等操作都是界面化非常流畅地操作,很适合用于检验性的分析和一次结果输出,不再复用的场景。粘贴到Excel时,Excel默认的数据格式是【常规】,若某些数字型字符,会出现前导0被清除的情况,此时可对这些列进行文本数据格式调整,再重新覆盖原位置粘贴多一次即可。同时真空的数据会出现NULL字样,需要Excel查找替换处理下。同样地其实刚才的步骤亦可进行csv输出,但一般来说必要性不大,直接复制过程,列数不多时,10万+的数据量都可以轻松粘贴出来,临时性数据也不会太多情形会有大量的数据,实在有,也会使用其他方案更可行。Excel直连Sqlserver数据库获取数据因为Windows、OFFICE、Sqlserver同出于微软,所以在系统级别,只要安装了OFFICE,就已经自带访问Sqlserver数据驱动,无需在客户机上操劳半天配置驱动环境,单单这一点,带来无限的便利,也是笔者力荐的方式。作为数据分析师,访问数据库的能力是必备的,可以从Excel或其他客户端找到相应的操作接口,如下图的Excel连接Sqlserver的方式(低版本Excel的位置有些不一样,可自行调整)。一般来说,只需按提示输入数据库的服务器地址,用户密码,然后找到对应数据存储的表或视图或存储过程即可。值得一提的是新版本的Excel连接Sqlserver等外部数据时,已经转换为使用PowerQuery的方式来加载,对数据库获取查询更加简单、灵活,同时是界面化条件查询,对SQL语句的要求更低。在旧版本Excel中,使用OLEDB的方式,如果不是一个小表,最好使用命令类型为:SQL,然后在命令文本中写SQL查询,否则数据量大,可能Excel工作表不能完全存放(用透视表输出就没问题)。另外补充的是,Excel连接不止于可以连接Sqlserver表或视图,或直接写SQL查询,甚至可以直接放一个存储过程,还可以传入参数,这样就极大地满足了复杂查询结果的输出。Excel催化剂插件实现低门槛Sqlserver数据查询有关注过Excel催化剂插件的读者们,应该对Excel与Sqlserver交互的相关插件扩展有些许的了解,具体作用是可以让终端用户使用Sqlserver时,更加智能,无需掌握SQL知识,仍然可以自如地在数据库中查询到相关的内容,对Excel版本没有特定要求,极大地满足了数据分发过程中,让终端普通用户借助插件的作用,轻松访问到Sqlserver内部数据的能力。具体的介绍可参照Excel催化剂功能介绍第19波第19波-Excel与Sqlserver零门槛交互-查询篇 https://www.jianshu.com/p/4cf5bad567e4其他客户端工具连接数据库除了Excel连接数据库,还有无数的数据工具,同样可以连接数据库获取数据,如自助式BI工具的PowerBI和Tableau,连接方式大同小异,和Excel类似,这里不展开。其他数据导出方法和数据导入篇一样,数据导出,也可以使用专业的ETL工具SSIS实现,更加专业和流程自动化,同样也可使用BCP数据导入导出工具完成,但操作略显复杂,对普通数据分析师没太大使用价值,这里不作展开。结语数据的二次消费,特别是数据分析师对数据进行整合、清理、转换后,可以带来更大的数据洞察价值的数据。若使用Sqlserver作数据库,起码在桌面端工具上有天然的优势,特别是已然成为数据分析标准的Excel上作数据输出,通过活动的数据连接的方式,保持和数据库有连接的状态,需要新数据仅需简单刷新即可获取到。正因为有了Excel这样的无缝连接的便利性,笔者才会如此强烈地推荐在数据库选择上坚定地拥挤Sqlserver。毕竟数据分析展现端,不是B/S架构所擅长的,数据无论如何都要回到熟悉的Excel环境才能被最终彻底消费。笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。相关阅读「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐https://www.jianshu.com/p/637aba4aeee5「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver https://www.jianshu.com/p/b40f8a36055e「Sqlserver」数据分析师有理由爱Sqlserver之三-最值得使有低投入高产出的Sqlsever https://www.jianshu.com/p/8a5396a7a402「Sqlserver」数据分析师有理由爱Sqlserver之四-七大数据库产品测评Sqlserver完胜 https://www.jianshu.com/p/243115b797ff「Sqlserver」数据分析师有理由爱Sqlserver之五-数据库环境使用正则表达式不再是梦 https://www.jianshu.com/p/5900cfaa1300「Sqlserver」数据分析师有理由爱Sqlserver之六-让Sqlserver拥有字符串聚合函数https://www.jianshu.com/p/ab3deac51973关于Excel催化剂Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!Excel催化剂插件下载链接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q取名催化剂,因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催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。姓名:李伟坚
从事数据分析工作多年(BI方向),一名同样在路上的学习者。 技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。 历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。
擅长技术领域:Excel等Office家族软件、VBAVSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。
2018年起成为自由职业工作者,期待Excel催化剂可以一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢,初步设想可以数据顾问的方式或一些小型项目开发的方式合作。

我要回帖

更多关于 EXCEL服务器 的文章

 

随机推荐