樞軸表也翻譯成透視表，是用來彙總其它表的資料。首先把源表分組（grouping），然後對各組內資料做彙總操作如排序、平均、累加、計數或字串連線等。透視表用於資料處理，在資料視覺化程式如電子表格或商業智慧軟體中常見。這種 樞軸 或者 pivoting 彙總表的概念得以命名。 舉例： 一個平凡的例子：第一張表包含一列數，透視表僅含一行一列為源表該列的均值。 稍微複雜點的例子，源表有兩列分別為性別與 身高，每行給出一個人的性別與高度；透視表有兩行兩列，在 性別 列分別寫 男性 與 女性，在 身高 列分別寫對應性別的平均身高。 更為複雜與更為典型的例子，源表有列 月份、銷售員、產品、銷售額，每行給出一個銷售員在某個月度賣出的某種產品的金額；透視表第一列是 銷售員 用於寫其名字，其餘列還有 產品名 與 總銷售 用於彙總該產品在該銷售人賣出的銷售總額。 透視表與列聯表 也稱作 交叉列表 cross tabulation 或 交叉表 crosstab 相關。但透視表被認為更為動態，可以在其上執行某些動作；而列聯表是靜態顯示資料。 微軟在美國註冊了複合詞形式的 PivotTable 為商標。 歷史 《Pivot Table Data Crunching》 指出是 透視表之父，在開發 Lotus Improv 時，Salas 稱電子表格有資料模式，幫助使用者識別出資料模式的工具有助於快速建立高階資料模型。Lotus Improv 允許使用者定義範疇（categories）儲存集合，用滑鼠拖拉範疇名字可以改變檢視（view）。這種核心功能提供了透視表模型。Lotus Development1991 年在 NeXT 平臺上釋出了 Lotus Improv。幾個月後，釋出了在 Macintosh 的實現，稱作 DataPivot。1999 年申請了專利。 1992 年 Borland 收購了 DataPivot 技術，用在了其電子表格軟體。 1993 年 Microsoft Windows 版本的 Improv 釋出。 1994 年初 Microsoft Excel 5 帶來了新功能 PivotTable。微軟在其後版本的 Excel 中繼續改進這個功能 Excel 97 包括了新的改進版的 PivotTable 嚮導（Wizard），能夠建立計算欄位，允許開發者寫 Visual Basic for Applications 小程式以建立或修改透視表； Excel 2000 引入了 透檢視 以便視覺化透視表 2007 年，Oracle 公司在 Oracle 資料庫 11g 版本中推出了 PIVOT 與 UNPIVOT 運算。 機制 典型的資料儲存為扁平的（flat）表，即只包含行和列。 例如下述電子表格為銷貨明細： 當表中包含很多列，就難以總結出表中的資訊。透視表可以快速總結資料並高亮期望的資訊。我正在看什麼？ 例如，對上例，問 多少件貨在各個地區各個發貨日期被銷售？ FilepivottablePivotedPNG 透視表通常包含行、列與資料（fact）。在這個例子中，列是 發貨日期，行是 地區，資料是銷售數量的彙總。 實現 從 SQL 程式設計實現角度，透視表是做一個 grouping by 操作，對組內資料做彙總計算。 下例在 Excel 中建立透視表的過程如下： Date of sale Sales person Item sold Color of item Units sold Per unit price Total price 100113 Jones Notebook Black 8 25000 200000 100213 Prince Laptop Red 4 35000 140000 100313 George Mouse Red 6 850 5100 100413 Larry Notebook White 10 27000 270000 100513 Jones Mouse Black 4 700 3200 各個列可用於透視表設計的佈局的四個地方： 報表篩選 Report filter 列標籤 Column labels 行標籤 Row labels 數值 Summation values 報表篩選 Report filter 報表篩選用於過濾源表的行。例如，滑鼠拖拉 Color of Item 到這個區域，則有一個下拉列表選項（Black Red White），可以選擇某個值作為源表中行的過濾標準，例如 Color of Item Black。 列標籤 Column labels 列標籤用於一個或多個源表中列，其值將作為透視表中的列名。例如，滑鼠拖拉 Sales person 到這個區域中，那麼透視表中將有 5 個列，每個銷售人佔一列，還有一列為 Grand Total。也可以施加篩選器，選中或者反選特定的銷售人。 行標籤 Row labels 行標籤類似於列標籤，用於一個或多個源表中列，其值將作為透視表中的行名。例如，滑鼠拖拉 Sales person 到這個區域中，那麼透視表中將有 5 個行，每個銷售人佔一行，還有一行為 Grand Total。也可以施加篩選器，選中或者反選特定的銷售人。 數值 Summation values 通常選擇一個數值型的列。可施加不同的累積計算。對文字型的列，可以做計數（count）或者連線操作。上例中，如果列標籤選擇了 Sales person 數值選擇了 units sold，那麼透視表將增加一個新列 Sum of units sold，是對每位銷售人的銷售額彙總。 Row labels Sum of units sold Jones 12 Prince 4 George 6 Larry 10 Grand total 32 應用程式支援 資料透視表或資料透視功能是許多和一些資料庫軟體的組成部分，也可以在其他資料視覺化工具和商業智慧包中找到。 電子表格 Microsoft Excel、Apache OpenOffice Calc、LibreOffice Google Docs 資料庫 PostgreSQL 使用 tablefunc 模組 MariaDB 使用 CONNECT 儲存引擎 Microsoft Access 使用 TRANSFORM aggfunction selectstatement PIVOT pivotfield IN value1 value2 ，aggfunction 是對被選中資料的累積計算，selectstatement 是 select 語句，pivotfield 是將在透視表中展開為列表的域， value1 value2 是建立列名的固定值。 Oracle database 支援 PIVOT 操作 Microsoft SQL Server 從 2005 版本開始支援。透視的語法格式為： SELECT 非旋轉列第一個旋轉列 AS 列名最後一個旋轉列 AS 列名 FROM SELECT 生成的資料查詢 AS 為源查詢結果指定的別名 PIVOT 聚合函式運算 FOR 被轉換為列標題值的列 IN 第一個旋轉後的列最後一個旋轉後的列 AS 為透視表指定的別名可選的 Order 子句 反透視的語法格式為：SELECT 非旋轉列第一個旋轉列 AS 列名最後一個旋轉列 AS 列名 FROM 透視表 AS 透視表的別名 UNPIVOT 值的列名 FOR 列標題的列名 IN 列標題 1 列標題 N AS 為反透視表指定的別名 SQL 語言中，PIVOT 函式又被稱為行轉列函式。該函式的作用就是將行轉為列，使資料看起來更加直觀明瞭。PIVOT 透過將引數中某一列的唯一值轉換為輸出中的多個列來 旋轉，並在必要時對最終輸出中所需的任何其餘列值執行聚合操作。其語法為： SELECT 非透視的列 第一個透視的列 第二個透視的列 最後一個透視的列 FROM 表名 PIVOT 聚合函式要聚合的列 FOR 其值要成為列標題的列 IN 第一個透視的列 第二個透視的列 最後一個透視的列 AS 透視表的名字 可選的 ORDER BY 子句 舉例： if exists select from sysdatabases where nameStudent drop database Student go create database Student go use Student create table students ID int not null Name varchar 50 not null Subject varchar 50 not null Grade int not null insert into students values 1 張三 語文 76 insert into students values 1 張三 數學 85 insert into students values 1 張三 英語 74 insert into students values 2 李四 語文 89 insert into students values 2 李四 數學 78 insert into students values 2 李四 英語 98 select from students select Name as 姓名，語文數學英語 from students PIVOT sum Grade for Subject in 語文數學英語 as p order by ID MySQL 不支援支援透視與反透視 Web 應用 ZK 框架，允許嵌入透視表 程式語言與庫 Python 資料分析工具庫 pandas 的函式 pivot_table 以及用於獲取透視表部分的 xs 方法 參見 列聯表 萃取、轉置、載入 Fold 高階函式 關係代數 資料庫 參考文獻 進一步閱讀 A Complete Guide to PivotTables A Visual Approach indepth review at slashdotorg Excel 2007 PivotTables and PivotCharts Visual blueprint Pivot Table Data Crunching Business Solutions Beginning Pivot Tables in Excel 2007 CategoryMicrosoft Office Category 資料分析