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,點擊插入欄位。
點確定即可