sql数据透视表
① 数据透视表10大常用技巧有哪些
如下:
1、样式改变为表格样式。
2、计数项改为求和项。
3、套用样式。
4、隐藏和显示汇总项。
5、合并单元格。
6、列宽及格式保持不变。
7、数据透视表的排序。
8、数据透视表数据源更新。
9、数据透视表切片器的使用。
10、数据透视表插入公式。
相关介绍:
如果使用“Office 数据连接”检索报表的外部数据(外部数据:存储在 Excel 之外的数据。例如,在 Access、dBASE、sql Server或Web服务器上创建的数据库),则可直接将数据返回到数据透视表,而不必运行“数据透视表和数据透视图向导”。
当不需要合并来自外部数据库(数据库:与特定主题或用途相关的数据的集合。在数据库内,关于特定实体的信息(如雇员或订单)分类归纳到表、记录和字段中。)的多个表 (表:关于特定主题的一组数据的集合,以记录(行)和字段(列)的形式存储。)中的数据。
或者不需要在创建报表前筛选数据以选择特定记录时,推荐使用“Office 数据连接”检索报表的外部数据,以及检索OLAP数据库(OLAP:为查询和报表(而不是处理事务)进行了优化的数据库技术。OLAP 数据是按分级结构组织的,它存储在多维数据集而不是表中)的数据。
创建数据透视表后,可对其进行自定义以集中在所需信息上。自定义的方面包括更改布局、更改格式或深化以显示更详细的数据。
② 为什么sql创建的数据透视表某事字段不能求和
不能求和的原因:
1、你求和的列的数据有null;
2、你求和的列数据格式不对;
请仔细检查你求和的列的数据是否正确,如果数据有null你可以isnull(字段,0)
③ 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=语文;
抱歉大概意思明白吧,字段名我没仔细对哈。
④ 如何用SQL实现Excel的数据透视功能
比如你有个工作簿,工作簿中有2个工作表,一个为采购、一个为消耗。
字段分别为:
存货代码 存货名称 采购金额
存货代码 存货名称 消耗金额
1.在任意一个工作表中点击数据——获取外部数据——自其它来源——来自microsoft Query
2.跳出选择数据源窗口——excel files——选择你的工作簿
3.跳出的窗口中列出了这个工作簿中的工作表(采购和消耗表)——选择任意一个工作表(比如采购表),然后点击箭头把这个工作表中的字段都选择到“查询结果列”中,然后再点击另一个工作表(消耗表),点开那个加号,选择“消耗金额”字段——点击向右的箭头把这个字段也选择如“查询结果列”中
4.点击“下一步”——确定,然后在跳出的窗口中在上面的两个小字段窗口中选择一个框中的存货代码点击左键拖动到另一个字段窗口中的“存货代码”处,做好2个代码的链接。
5.点击“将数据返回到EXCEL”按钮——在跳出的窗口中勾选“数据透视表”和“新建工作表”选项,这样就做好了。
⑤ 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语句。更复杂的透视方式,比如多级透视,也是在这个基础上的实现的。
⑥ sql怎么做数据透视表
举例说明怎么用SQL做数据透视表:
[表一 学生信息表]
⑦ 如何使用动态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语句.
⑧ sql sever report service 怎么实现数据透视表的功能
生成数据透视表
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 组队=isnull(ta.组队,tb.组队),分类=isnull(ta.分类,tb.分类),
人员=isnull(ta.人员,tb.人员),金牌数量=isnull(ta.金牌数量,tb.金牌数量) from
(select 组队,人员,金牌数量,分类='最多' from table1 t1 where 金牌数量=(select max(金牌数量) from table1 where 组队=t1.组队))ta full join
(select 组队,人员,金牌数量,分类='最少' from table1 t1 where 金牌数量=(select min(金牌数量) from table1 where 组队=t1.组队))tb
on ta.组队=tb.组队 and ta.分类=tb.分类
⑩ sql怎么做数据透视表
1、任意点击数据透视表内的某一单元格,点分析选项卡--点击字段、项目和集--选择字段
2、在弹出的计算字段对话框,名称输入A/C.指A列合计值除以B列合计值,公式输入:=A/C
点确定。也可以在输入公式时使用插入字段,比如合计值A,可以在下面选择A,点击插入字段。
点确定即可