A. sql怎么实现透视表功能
给个例子可能更容易理解,假设有一张数据表:
销售人员 书籍 销量
----------------------------------------
小王 Excel教材 10
小李 Excel教材 15
小王 Word教材 8
小李 Excel教材 7
小王 Excel教材 9
小李 Excel教材 2
小王 Word教材 3
小李 Excel教材 5
一种数据透视的方法是统计每个销售人员对每种书籍的销量 ,结果如下
----------------------------------------------------------------
Excel教材 Word教材 总计
---------------------------------------------- -----------------
小王 29 0 29
小李 19 11 30
各位看明白了吗?这是最简单的一种数据透视了,如果有必要也可以有多级分组。
好了,那在Sql Server中如何视现数据透视的功能呢?我是Sql Server的初学者,看了网上的一些例子,结合自己的理解写了下面这些Sql语句.
生成基础数据的代码
Create table s( [name] nvarchar(50), book nvarchar(50), saledNumber int ) insert into s ([name],book,saledNumber) values('小王','Excel教材',10); insert into s ([name],book,saledNumber)values('小李','Excel教材',15); insert into s ([name],book,saledNumber)values('小王','Word教材',8); insert into s ([name],book,saledNumber)values('小李','Excel教材',7); insert into s ([name],book,saledNumber)values('小王','Excel教材',9); insert into s ([name],book,saledNumber)values('小李','Excel教材',2); insert into s ([name],book,saledNumber)values('小王','Word教材',3); insert into s ([name],book,saledNumber)values('小李','Excel教材',5);
生成数据透视表
set @sql = 'SELECT [name], ' select @sql = @sql + 'sum(case book when '+quotename(book,'''')+' then saledNumber else 0 end) as ' + quotename(book)+',' from s group by book select @sql = left(@sql,len(@sql)-1) select @sql = @sql + ', sum(saledNumber) as [sum] from s group by [name]' select @sql exec(@sql)
上面的查询语句首先是拼接了一条"Sql语句",它的最终结果为:
SELECT [name], sum(case book when 'Excel教材' then saledNumber else 0 end) as [Excel教材],sum(case book when 'Word教材' then saledNumber else 0 end) as [Word教材], sum(saledNumber) as [sum] from s group by [name]
当然,如果表中的数据不同,那么这生成的Sql语句也是不同的。
最后调用了Sql Server的系统存储过程Exec来执行这条语句。
这就是在Sql Server中生成数据透视表的实现,核心也就是上面拼接成的那条Sql语句。更复杂的透视方式,比如多级透视,也是在这个基础上的实现的。
B. 我在excel中建了数据透视表,请问我想通过sql语句来查询里面的数据,这个语句写在什么地方
数据--现有连接,更多浏览,找到你的工作表选择,一步步的选择,最后连接属性的命令文本处输入你的SQL代码就可以了
C. Excel2016中怎么将数据透视表和SQL紧密联系
用Excel2016打开一篇工作表。
切换到“插入”选项卡,单击“表格”组中的“推荐的数据透视表”按钮.
此时会弹出一个“推荐的数据透视表”窗口,我们在左侧的类型中根据需要选择一个数据透视表。
右侧有它对应的效果,然后单击“确定”按钮。
返回到Excel中,我们看到窗口右侧多出了一个“数据透视表字段”窗格。
大家可以在其中选择要添加到数据透视表中的字段,完成之后单击“关闭”按钮关闭窗格。
大家现在就能看到数据透视表的模样了,并且Excel已经自动切换到了“数据透视表工具->分析”选项。
D. 如何用SQL实现Excel的数据透视功能
比如你有个工作簿,工作簿中有2个工作表,一个为采购、一个为消耗。
字段分别为:
存货代码 存货名称 采购金额
存货代码 存货名称 消耗金额
1.在任意一个工作表中点击数据——获取外部数据——自其它来源——来自microsoft Query
2.跳出选择数据源窗口——excel files——选择你的工作簿
3.跳出的窗口中列出了这个工作簿中的工作表(采购和消耗表)——选择任意一个工作表(比如采购表),然后点击箭头把这个工作表中的字段都选择到“查询结果列”中,然后再点击另一个工作表(消耗表),点开那个加号,选择“消耗金额”字段——点击向右的箭头把这个字段也选择如“查询结果列”中
4.点击“下一步”——确定,然后在跳出的窗口中在上面的两个小字段窗口中选择一个框中的存货代码点击左键拖动到另一个字段窗口中的“存货代码”处,做好2个代码的链接。
5.点击“将数据返回到EXCEL”按钮——在跳出的窗口中勾选“数据透视表”和“新建工作表”选项,这样就做好了。
E. sql怎么做数据透视表
1、任意点击数据透视表内的某一单元格,点分析选项卡--点击字段、项目和集--选择字段
2、在弹出的计算字段对话框,名称输入A/C.指A列合计值除以B列合计值,公式输入:=A/C
点确定。也可以在输入公式时使用插入字段,比如合计值A,可以在下面选择A,点击插入字段。
点确定即可
F. 如何使用动态sql实现多级数据透视表
给个例子可能更容易理解,假设有一张数据表:
销售人员 书籍 销量
----------------------------------------
小王 Excel教材 10
小李 Excel教材 15
小王 Word教材 8
小李 Excel教材 7
小王 Excel教材 9
小李 Excel教材 2
小王 Word教材 3
小李 Excel教材 5
一种数据透视的方法是统计每个销售人员对每种书籍的销量 ,结果如下
----------------------------------------------------------------
Excel教材 Word教材 总计
---------------------------------------------- -----------------
小王 29 0 29
小李 19 11 30
各位看明白了吗?这是最简单的一种数据透视了,如果有必要也可以有多级分组。
好了,那在Sql Server中如何视现数据透视的功能呢?我是Sql Server的初学者,看了网上的一些例子,结合自己的理解写了下面这些Sql语句.
G. 数据透视表具体的使用方法,步骤,教学视频也行。
方法:
若要创建数据透视表,请运行“数据透视表和数据透视图向导”。在向导中,从工作表列表或外部数据库选择源数据。向导然后为您提供报表的工作表区域和可用字段的列表。当您将字段从列表窗口拖到分级显示区域时,Microsoft Excel 自动汇总并计算报表。
如果使用“Office 数据连接”检索报表的外部数据 (外部数据:存储在 Excel 之外的数据。例如,在 Access、dBASE、SQL Server 或 Web 服务器上创建的数据库。),则可直接将数据返回到数据透视表,而不必运行“数据透视表和数据透视图向导”。当不需要合并来自外部数据库 (数据库:与特定主题或用途相关的数据的集合。在数据库内,关于特定实体的信息(如雇员或订单)分类归纳到表、记录和字段中。)的多个表 (表:关于特定主题的一组数据的集合,以记录(行)和字段(列)的形式存储。)中的数据,或者不需要在创建报表前筛选数据以选择特定记录时,推荐使用“Office 数据连接”检索报表的外部数据,以及检索 OLAP (OLAP:为查询和报表(而不是处理事务)而进行了优化的数据库技术。OLAP 数据是按分级结构组织的,它存储在多维数据集而不是表中。) 数据库的数据。
创建数据透视表后,可对其进行自定义以集中在所需信息上。自定义的方面包括更改布局、更改格式或深化以显示更详细的数据。
详细:
处理源数据
在创建数据透视表 (数据透视表:一种交互的、交叉制表的 Excel 报表,用于对多种来源(包括 Excel 的外部数据)的数据(如数据库记录)进行汇总和分析)或数据透视图报表 (数据透视图:提供交互式数据分析的图表,与数据透视表类似。可以更改数据的视图,查看不同级别的明细数据,或通过拖动字段和显示或隐藏字段中的项来重新组织图表的布局)时,可使用多种不同的源数据 (源数据:用于创建数据透视表或数据透视图的数据清单或表。源数据可以来自 Excel 数据清单或区域、外部数据库或多维数据集,或者另一张数据透视表。)类型。
工作表数据
您可以将 Microsoft Office Excel 工作表中的数据作为报表的数据来源。该数据应采用列表 (列表:包含相关数据的一系列行,或使用“创建列表”命令作为数据表指定给函数的一系列行。)格式,其列标签应位于第一行。后续行中的每个单元格都应包含与其列标题相对应的数据。目标数据中不得出现任何空行或空列。Excel 会将列标签用作报表中的字段 (字段:在数据透视表或数据透视图中,来源于源数据中字段的一类数据。数据透视表具有行字段、列字段、页字段和数据字段。数据透视图具有系列字段、分类字段、页字段和数据字段。)名称。
使用命名区域
若要使报表的更新更易于进行,请为源区域命名一个名称 (名称:代表单元格、单元格区域、公式或常量值的单词或字符串。名称更易于理解,例如,“产品”可以引用难于理解的区域“Sales!C20:C30”),并在创建报表时使用该名称。如果命名区域在扩展后包含了更多数据,则可以刷新 (刷新:更新数据透视表或数据透视图中的内容以反映基本源数据的变化。如果报表基于外部数据,则刷新将运行基本查询以检索新的或更改过的数据)报表来包含新的数据。
Excel 表格
Excel 表格已经采用列表格式,因而是数据透视表不错的候选源数据。当刷新数据透视表时,Excel 表格中新增和更新的数据会自动包含在刷新操作中。
有关详细信息,请参阅 Excel 表格概述。
包括汇总Excel 会自动在数据透视表中创建分类汇总和总计。如果源数据包含用“分类汇总”命令(位于“数据”选项卡上的“大纲”组中)创建的自动分类汇总和总计,则应在创建报表前再用该命令将分类汇总和总计删除。
外部数据源
您可以从数据库、OLAP 多维数据集或文本文件等位于 Excel 外部的源中检索数据。例如,对于要汇总和分析的销售记录,可以为它们维护一个数据库。
Office 数据连接文件如果使用 Office 数据连接 (ODC) 文件 (.odc) 为报表检索外部数据,则可以直接将该数据输入到数据透视表中。我们建议使用 ODC 文件为报表检索外部数据。
有关详细信息,请参阅连接(导入)外部数据、创建、编辑和管理到外部数据的连接和连接属性。
OLAP 源数据在从 OLAP 数据库或多维数据集 (多维数据集:一种 OLAP数据结构。多维数据集包含维度,如“国家/地区)/省(或市/自治区)/市(或县)”,还包括数据字段,如“销售额”。维度将各种类型的数据组织到带有明细数据级别的分层结构中,而数据字段度量数量。)文件中检索源数据时,数据只能以转换为工作表功能的数据透视表或数据透视图报表的形式返回 Excel。
有关详细信息,请参阅连接(导入)OLAP 数据库。
非 OLAP 源数据这是数据透视表或数据透视图报表使用的基础数据,该数据来自 OLAP 数据库之外的源。例如,来自关系数据库或文本文件中的数据。
简介:
数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。
之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。
H. sql怎么做数据透视表
举例说明怎么用SQL做数据透视表:
[表一 学生信息表]
I. sql怎样完成类似数据透视表那样的功能
这个建议另建一张表,按照最终需求的表结构建好表3,然后
insert into 表3(姓名,学号) as select 姓名,学号 from 表1;
update 表3 set 数学=表2.score from 表2,表3 where 表2.学号=表3.学号 and 表2.subject=数学;
update 表3 set 语文=表2.score from 表2,表3 where 表2.学号=表3.学号 and 表2.subject=语文;
抱歉大概意思明白吧,字段名我没仔细对哈。
J. excel数据透视表与sql语句的问题
数据-导入外部数据-导入数据,选择一个EXCEL文档,一般是当前打开的文档,再选择工作表名。确定后再单击“编辑查询”按钮,命令就写在“命令文本”框中。