加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]创建数据透视表的两种高级方式-使用OLE DB查询和MICROSOFT Q

(2015-07-30 14:27:01)
标签:

转载

分类: excel

通过导入外部数据并编辑OLE DB查询创建数据透视表

EXECL在运用多重合并计算创建数据透视表时,只能将源数据的第一列作为行字段进行运算分析,损失了其他字段的计算分析功能,破坏了源数据各字段的属性。通过导入外部数据并编辑OLE DB查询创建数据透视表,有效地避免了多重合并计算创建数据透视表的缺陷,并且是动态数据源的数据透视表,堪称数据透视表的一种高级应用。

一、OLE DB简介:简单地说,它是一种技术标准,目的是提供一种统一的数据访问接口。EXCEL可以借助OLE技术对数据列表进行联接和存储,形成新的数据来创建数据透视表。

1、对单张EXCEL数据列表的OLE DB编辑导入并创建数据透视表。单击数据-导入外部数据-导入数据-选取数据源。选取数据后,一般更改其属性的刷新控件为打开时自动刷新,再创建数据透视表即可。

注意:如先打数据透视表,再打开数据源编辑后,在透视表中刷新将会出现错误,所以需要先打开数据进行编辑更新后,再打开透视表刷新即没问题。

2、对同一工作簿中不同工作表的OLE DB编辑导入并创建数据透视表。导入方法和导入单张数据列表是一致的。但在编辑查询时,需在命令文本中应用SQL语句将各个工作表进行联合使用。这个SQL语句的一般语法是:Select 要创建的页字段名称”,  * from [工作表名称1$]  union all Select 要创建的页字段名称”,  * from [工作表名称2$]  union all …… ,直到连接完所要使用的工作表。

3、对不同工作簿中工作表的OLE DB编辑导入并创建数据透视表。数据导入方法是一致的,但是SQL语句不同。一般情况下,SQL语句的语法为:select “要创建的页字段名称”, * from `路径名称及数据源文件名`.`工作表名1$` `工作表名1$` union all  select “要创建的页字段名称”, * from `路径名称及数据源文件名`.`工作表名2$` `工作表名2$` union all ……, 直到连接完所要使用的工作簿及其中的工作表。

4、数据源移动后,必须修改SQL语句的连接路径,数据透视表才能正常的刷新。修改方法和导入数据时一样,在编辑查询中修改连接中的盘符即可。还可用VBA代码进行自动修改数据源地址。

注意:在编辑SQL语句时,SQL语句只能包含2048个字符长度的命令,超过2048个字符长度的命令将不能执行。EXCEL也无法对更多的工作表的数据列表进行连接(不能超过50个数据列表,即使SQL命令并未超过2048个字符)。

如果在运用导入外部数据创建透视表时弹出“数据链接属性”对话框时,EXCEL的连接属性也出现了问题。解决办法是:返回桌面,打开“我的文档”,打开“我的数据源”,右键-刷新即可,也可选择全部数据并删除也可。

二、通过MICROSOFT QUERY查询数据创建数据透视表

通过MICROSOFT QUERY查询数据创建数据透视表也可以避免数据透视表合并计算字段只能将第一列作为行字段的缺陷。称得上是数据透视表的又一经典用法。

MICROSOFT QUERY的简介:它是由MICROSOFT -OFFICE提供的一个查询工具,它是使用SQL语言生成查询语句后,可以精准地从外部数据源中导入匹配条件的数据到EXCEL中。它可以查询的数据源包括DBASEACCESSEXCEL等等数据。它可以查询单个数据列表、同一工作簿中多个工作表、多个工作簿中的数据。

1、对单个工作表的查询。数据-导入外部数据-新建数据库查询-选择数据源-EXCEL FILES-去勾使用“查询向导”-找到需要的数据源文件-双击-单击工作表-*(代表所有数据)-返回EXCEL-创建数据透视表-完成。

查询向导与QUERY的区别:查询向导是QUERY的一种接口,可以简单的筛选查询条件,但其功能有限,如果查询条件更加复杂的话,必须使用QUERY来查询。

如果EXCEL FILES*类型没有的话,在开始-设置-控制面板-管理工具-数据源-添加-MICROSOFT EXCEL DRIVER(*.XLS)-完成即可。

2、对多个工作表的查询。方法与查询单个工作表基本相同。只是在添加列表时一个一个地添加,再将两个或多个表中唯一的字段联系在一起,添加字段,创建数据透视表。

对不同工作簿内的数据表进行查询。具体方法与上面两种基本一致,添加数据时,打开一个工作簿后添加任意一个数据表,打开SQL语句对话框,输入SQL查询语句。SQL语句的一般写法是:SELECT `想命名的页字段`,* From `数据源所在目录及名称`.`工作表名1$` `工作表名1$` union all SELECT `想命名的页字段`,* From `数据源所在目录及名称`.`工作表名2$` `工作表名2$`…,一直连接完所有需要的数据源。

当数据源移动后,需修改QUERY查询中的SQL语句的查询地址,数据透视表才能正常的刷新。方法是:在透视表中任一单元格-数据透视表向导-上一步-获取数据-SQL中修改数据源路径即可。也可用VBA代码进行自动修改。

 

学习和掌握更多有关EXCEL或OFFICE的知识,请登录http://t.excelhome.net/。在这里,一定会让你找到家的感觉。

 

 

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有