ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 16124|回复: 26

[原创分享]关于调用外部数据透视产生的expr1000字段的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-4-3 14:57 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

最近看http://club.excelhome.net/dispbbs.asp?boardid=123&replyid=645801&id=208966&page=1&skin=0&Star=2  帖子

13楼版主BIN_YANG168介绍了“合并透视表中实现多个行字段的方法”,用到了调用外部数据的方法来实现。

其中由于是对多个表进行合并透视的,产生了一个新字段Expr1000。不明白的朋友会问,这是如何产生的呢。如下图:

实际上,由于该透视表是用了sql语句产生的。

SQL查询语句:

SELECT "表一", * FROM [表一$] UNION ALL SELECT "表二", * FROM [表二$]

怎么回事呢?

举例:

SELECT  count(姓名)  AS  人数


FROM   员工信息表


WHERE  姓名 LIKE '%'  GROUP BY 姓名


上面这句如果去掉AS 人数,则查询结果的字段名为Expr1000,其中Expr表示该字段是由某一表达式汇总的结果,而1000则表示,该字段在查询结果中是每1个字段(依此类推,100i则表示第i+1个字段),这样的字段名输出结果,没有任何实际的意义,且难以理解,为此,需要使用AS关键字来为其取个易于理解和记忆的名字。

那么,既然找到原因了,那怎么改呢?其实很简单

SELECT "表一" as 表, * FROM [表一$] UNION ALL SELECT "表二" as 表, * FROM [表二$]

改成以上样子就可以了。

结果如下图:



[此贴子已经被作者于2008-4-3 15:39:56编辑过]

关于调用外部数据透视产生的expr1000字段的问题

关于调用外部数据透视产生的expr1000字段的问题

关于调用外部数据透视产生的expr1000字段的问题

关于调用外部数据透视产生的expr1000字段的问题

TA的精华主题

TA的得分主题

发表于 2008-4-3 15:31 | 显示全部楼层

感谢lgcmeli的深度挖掘。更简单的方法就是在Expr1000页字段上直接修改为表。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-3 15:34 | 显示全部楼层
是的。没错。我是想找到原因。呵呵。我也在学习ing。谢谢版主。

TA的精华主题

TA的得分主题

发表于 2008-4-3 19:57 | 显示全部楼层

谢谢分享!

楼主的字段名Expr1000的产生是:在Microsoft Query中用SQL语句构造一列,如果不添加字段名,Query会自动添加楼主图片中的列名Expr1000,用AS语句会可以修改字段名,这个字段名是数据源中的字段名,用Pf.SourceName可以显示出来。

BIN_YANG168版主是在透视表中字段的显示中修改的字段名,用Pagefields(1).name可以显示出来,是完全不同的2个方法。

TA的精华主题

TA的得分主题

发表于 2009-2-20 10:21 | 显示全部楼层
谢谢,又学到一个小技巧。虽然重来没有接触过SQL语句,但是可以把这个句式强记下来。BIN_YANG168版主教的多表合并产生数据透视表的方法是很有用的。

TA的精华主题

TA的得分主题

发表于 2009-5-5 17:44 | 显示全部楼层
刚碰到一个“Expr1006”,结合这个帖子才弄懂一些。。。

TA的精华主题

TA的得分主题

发表于 2009-5-6 08:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-6 11:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-17 10:11 | 显示全部楼层
谢谢楼主及两位版主的讲解!

原来Expr1000前面的英文缩写 是 expression 表达式。

TA的精华主题

TA的得分主题

发表于 2009-5-18 21:39 | 显示全部楼层
谢谢各位详解,这回算是明白EXPR100来龙去脉了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-28 07:27 , Processed in 0.064699 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表