ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > SQL in Excel > 怎么样才能让该段SQL语句创建的数据透视表值字段能够求和

怎么样才能让该段SQL语句创建的数据透视表值字段能够求和

作者:绿色风 分类: 时间:2022-08-18 浏览:120
楼主
LOGO
Q:附件工作簿有二个工作表,出库表,入库表,两表具有相同的字段,现在想用SQL语句将两表合并起来创建数据透视表。
入库表如下图所示:

 
出库表如下图所示:

 
通常遇到这种情况下我们都是用以下语句来创建数据透视表:
  1. select * from [入库$]
  2. union all
  3. select * from [出库$]
但是此例中用该段语句创建的数据透视表值字段区域只能实现计数,而不能实现求和。有没有什么办法可以让这段SQL语句创建的数据透视表值字段区域能够实现求和?
A:1、先设置两表中需要汇总列的单元格格式(通常情况下根据需要来设置,本例中设为数值)
      2、保存并关闭工作簿
      3、用sql语句创建数据透视表并进行相关设置。

 
其实将单元格格式设置为货币,会计专用,日期也是可以的(日期的话原数据表格式怪异一点(

其实此帖中的问题也可以用上述方法来解决:

另外二个例子:



EH会员
  1. doryan
的观点是这样的:

 
感觉这也就是SQL的扫描机制(前8/16行中文本和数值类型的数据哪个类型的数据多,就将哪个类型视为该列的数据类型,如果文本和数值的数量相等的情况下,会视为数值。)的另外一种理解。
个人觉得先对工作表中的目标列数据设置我们所需要的单元格格式,再执行查询,这样保证了列内数据类型的一致性,用SQL语句进行查询时就能够按照我们预期的那样返回我们所需要的数据了。
所以在用SQL语句查询时,我都是先用select 列名 from 表 查询数据源的数据,然后将结果与数据源进行比较,如果某些列有数据缺失的话,就先设置这些列的单元格格式,再执行查询。
以上只是个人的看法,正确与否有待尽一步的验证。



2楼
LOGO
今天在社区里看帖才发现,社区里已经有相类似的帖子了,
lrlxxqxa总版主在2010年时的帖子:

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap