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文檔,一般是當前打開的文檔,再選擇工作表名。確定後再單擊「編輯查詢」按鈕,命令就寫在「命令文本」框中。