數據透視表歷來使用 OLAP Cube 和其他已經在數據表之間具有豐富連線的複雜數據源建構。 不過,在 Excel 中,您可以自由匯入多個數據表,並在數據表之間建立自己的連線。 雖然這種彈性非常強大,但也可讓您輕鬆匯入不相關的數據,產生奇怪的結果。
您是否曾經建立過這樣的數據透視表? 您打算建立依地區購買的明細,因此您將購買金額欄位移至 [ 值 ] 區域,並將銷售區域字段置放到 [ 欄卷標 ] 區域。 但結果錯誤。
如何修正此問題?
問題是您新增至數據透視表的欄位可能位於同一個活頁簿中,但包含每個數據行的數據表並不相關。 例如,您可能有一個列出每個銷售區域的數據表,以及列出所有地區購買專案的另一個數據表。 若要建立數據透視表並取得正確的結果,您必須建立兩個數據表之間的關聯。
建立關聯之後,數據透視表會將購買數據表中的數據與區域清單正確結合,結果看起來像這樣:
Excel 包含由 Microsoft Research (MSR) 所開發的技術,用於自動偵測和修正像這樣的關聯性問題。
使用自動偵測
自動偵測會檢查您新增至包含數據透視表之活頁簿的新欄位。 如果新欄位與數據透視表的欄和列標題無關,數據透視表頂端的通知區域中會出現一則訊息,讓您知道可能需要關聯。 Excel 也會分析新數據以尋找可能的關聯。
您可以繼續忽略郵件並使用數據透視表;不過,如果您按兩下 [ 建立],演算法就會運作並分析您的數據。 視新數據中的值、數據透視表的大小和複雜度,以及您已建立的關聯而定,此程式最多可能需要幾分鐘的時間。
此程式包含兩個階段:
-
偵測關聯。 您可以在分析完成時檢閱建議關聯的清單。 如果您沒有取消,Excel 會自動繼續下一個建立關聯的步驟。
-
建立關聯。 套用關聯之後,就會出現確認對話方塊,您可以按兩下 [ 詳細 數據] 連結,查看已建立之關聯的清單。
您可以取消偵測程式,但無法取消建立程式。
MSR 演算法會搜尋「最佳可能」的關聯集,以連接模型中的數據表。 演算法會偵測新數據的所有可能關聯,並考慮欄名、數據行的數據類型、欄內的值,以及數據透視表中的欄。
Excel 接著會根據內部語言來選擇最高「品質」分數的關係。 如需詳細資訊,請參閱 關聯概觀和 關聯性疑難解答。
如果自動偵測無法提供正確的結果,您可以編輯關聯、刪除關聯,或手動建立新的關聯。 如需詳細資訊,請參閱 建立兩個數據表之間的關聯 或 在圖表檢視中建立關聯
數據透視表中的空白列 (未知成員)
因為數據透視表會將相關的數據表整合在一起,如果任何數據表包含無法以索引鍵或相符值關聯的數據,則必須不知何故處理該數據。 在多維度資料庫中,處理不相符數據的方式是將沒有相符值的所有數據列指派給「未知的成員」。 在數據透視表中,未知的成員會顯示為空白標題。
例如,如果您建立的數據透視表,該數據透視表應依商店將銷售分組,但銷售數據表中的某些記錄並未列出商店名稱,則所有沒有有效商店名稱的記錄都會分組在一起。
如果最後是空白列,您有兩個選擇。 您可以定義可運作的數據表關聯,或許是透過在多個數據表之間建立關聯鏈結,或是從數據透視表中移除導致空白列的欄位。