善加運用關係

新的資料建模功能可以圍繞關係建立彈性資料來源。

關係會藉由查看那些表具有哪些相同的欄(欄位),並使用這項資訊將來自每個表中的資訊集合於分析之中,來合併來自不同表的資料。

有別於聯結或聯集,關係會形成資料來源,而無需將多個表展平至單一表中。因此,相關的資料來源就會知道每個欄位來自哪個表。這表示每個欄位都會保留其內容或詳細層級。如此一來,相關的資料來源就能處理具有不同粒度的表,而不會有重複或資料遺失的問題。

在相關的資料來源中,聯結並不是預先固定的。不是合併所有的資料(以及無論每個視覺效果的需求為何,都必須處理所有資料),而是根據實際需要為每個工作表合併相關的資料。在您進行拖放動作時,Tableau 會評估相關欄位與表的關係。這些關係會被用於編寫具有正確聯結類型、彙總與空值處理的查詢。

您可以思考資料如何組合在一起,以及您想要回答什麼問題,而非如何合併資料或補償來自資料來源的成品。

關係並不會取代先前的資料合併方式:聯結、聯集與混合。相反地,關係是一種充滿彈性的新方式,可以從多個來源將資料合併在一起。既有的方式並不會因此消失,而且在特定的情況中仍然十分有用。

使用關係

這項主題將逐步說明如何建立相關資料來源,並將其用於分析。若要依照說明執行操作,您可以下載「書店」資料集(連結在新視窗開啟)。您可以選擇 Bookshop.xlsx 作為原始資料,從頭開始進行;或選擇 MinimalBookshop.tdsx,從為您設定的相關資料來源基礎開始。

附註:Tableau 2020.2 及更新版本中存在關係。

影片: 移轉資料

如果您在 Tableau 2020.2 版本中開啟來自 Tableau 先前版本(2020.1 或更早版本)的既有工作簿,您的資料來源索引標籤可能會顯示「移轉資料」表。

這項主題中包含了多個內嵌影片。為了您的方便起見,我們在每部影片下方的可展開部分中提供了文字檔內容。

「移轉資料」影片文字檔

如果您所開啟的是在關係功能推出之前所建立的工作簿(2020.2 以前的版本),您的資料來源看起來可能會有所不同。如果有聯結表或聯集表,則這些表會顯示為名為「移轉資料」的單一邏輯資料表。按兩下即可查看基礎表(這些表仍然存在),且您的分析仍將依預期來執行。

請注意,在您僅使用「移轉資料」表的情況下,「資料」窗格的行為會比較像是先前版本的 Tableau Desktop。

您甚至可以將新表直接關聯至「移轉資料」表,以擴展資料模型。

在您將關係新增至資料模型之後,「資料」窗格就會更新為新的版面配置,每個表中會保留維度與度量,且「移轉資料」表會顯示為單一的合併表。

影片:為表建立關聯

附註:此影片中顯示的編輯關係介面與當前版本略有不同,但功能相同。

「為表建立關聯」影片文字檔

若要建立關聯表的資料來源,請連線至您的資料,然後將表拖曳至畫布中。拖曳第二個表。若情況允許,關係就會自動形成。如果 Tableau 無法偵測到相關欄位,系統將會提示您自行選取欄位。

您所看見的畫布是資料模型的一個新層,您可以在其中將表關聯在一起。將其他的表拖曳出來,將其新增至資料模型中。「關聯線」會顯示哪些表相關聯。

關係可以基於計算欄位。定義關係時,還可以透過使用運算子指定應如何比較欄位。

新增聯結

您可以藉由以下方式來建立聯結:在表中按兩下,以開啟聯結畫布(又稱為「實體層」),然後將表拖曳出來,即可建立聯結。建立聯結的方式就如同先前版本的 Tableau:您可以設定一個聯結子句(可視情況需要包含計算),並設定聯結類型。

在將聯結畫布關閉之後,關係畫布(又稱為「邏輯層」)中的表會顯示一個用於指示基礎聯結的「聯結」圖示。這是因為聯結會將表合併在一起,以形成一個單一的新表。相關表會保持不同。

新增聯集

藉由拖曳「新聯集」來新增聯集。聯集就如同聯結一樣,會在實際上合併資料,並且會在邏輯層中顯示圖示。我們建議您永遠將聯集(或任何名稱不明確的表),重新命名為更可幫助識別的名稱。

影片:效能選項

附註:此影片中顯示的編輯關係介面與當前版本略有不同,但功能相同。

「效能選項」影片文字檔

任何關係都會有效能選項以及相關欄位。Tableau 會自動為這些選項選擇安全預設值。然而,如果您可以確定資料的特徵,則變更這些選項將能為 Tableau 提供關於如何在分析過程中以最佳方式設定自動聯結的更多資訊。設定基數與參考完整性選項,可為 Tableau 提供關於如何最佳化查詢的更多資訊。

基數

基數會指出連結欄位記錄是否具有唯一性。如果多本書可以具有相同的作者,但每位作者只會在作者表中列出一次,則 AuthID 的基數在這兩個表之間將會是「Many for Books」與「One for Author」。這項設定會影響 Tableau 在聯結之前或之後處理彙總的方式。

參考完整性

參考完整性會指出,一個表中的記錄是否保證在另一個表中具有關係。如果每本書都有作者,則「Book」對於「Author」就具有參考完整性。如果並非每位作者都有書,則「Author」對於「Book」就不具有參考完整性。這項設定會影響 Tableau 選擇聯結類型及處理不相符記錄的方式。

有關詳情,請參閱基數和參考完整性

範例:書店資料

我們稍後將會對此資料來源進行分析,現在先讓我們來討論「資料」。

由於資料集是圍繞著(假設的)書,因此就必須考慮書與版本之間的不同。書本身是一種概念作品,具有書名、作者及類型等屬性。此外,書會有不同的版本,具有價格或版式(精裝本或平裝本)等不同屬性,這會以國際標準書號 (ISBN) 來識別。一本書的某一個版本都會有一家出版商與一個頁數,而書可能會獲得獎項或屬於某個系列。

您可以下載 MinimalBookshop.tdsx 依照說明執行操作,或藉由 Bookshop.xlsx 來嘗試自行建立模型。請注意,您可以在表合併之後隱藏許多「ID」欄位。

影片:使用多個表

附註:此影片中顯示的編輯關係介面與當前版本略有不同,但功能相同。

「使用多個表」影片文字檔

「資料來源」頁面

在前往「工作表」索引標籤之前,請注意下方的資料網格檢視一次只會顯示一個表中的欄位。如果按一下另一個表,將可看見其中所包含的資料。沒有整體檢視,因為相關資料只有在用於分析之後才會彙整在一起。在現階段中,資料會保留於各個表中,因此會由表來顯示。

如果按一下具有基礎聯結或聯集的表,將會看見合併的資料,包含可能涉及的任何空值。

「資料」窗格

在按一下工作表之後,您可能會發現「資料」窗格看起來不同於先前版本的 Tableau。現在「資料」窗格不再是維度與度量的主要組織,而是著重於表。每個表都有自己的維度與度量明細,由此行來表示。您也可以選擇依資料夾來進行歸類。

記錄數量與計數

也沒有「記錄數量」欄位。這是由於記錄數量的概念已經改變。資料來源並沒有單一的記錄數量。每個表都有一個「計數」欄位,可以將其視為該表的本機記錄數量。

若要同時知道多個表的記錄數量,您可以使用「度量名稱」與「度量值」,或選取多個計數欄位,並使用「顯示」來建立視覺效果。

影片:基本計算

「基本計算」影片文字檔

我們可以進行一些計算來讓這個資料集更好用。首先,我們可以為完整作者姓名建立一個計算,這項計算可以將姓氏與名字結合在一起。我們將建立一個稱為「作者姓名」的計算,只有名字、空格與姓氏。請注意,這項計算會保留在「作者」表之中,因為它只會使用該表中的欄位。

[First Name] + " " + [Last Name]

在我們進行銷售時,銷售金額會是價格(由出版商設定,並特定於該版本或該 ISBN)與銷售時的任何折扣的組合。所以,「銷售金額」計算將會是價格乘以 1 並減去折扣。請注意,我們會使用 ZN(或 Zero Null)函數來處理沒有折扣的銷售,所以不會得出空值。由於這項計算使用多個表中的欄位,因此會前往「資料」窗格底部的共用區域。彙總計算也會前往「資料」窗格底部。

[Price] * (1-ZN([Discount]))

影片:集合與群組

「集合與群組」影片文字檔

我們將為書建立一個集合,以識別其是否屬於某個系列。在「書」表中,以右鍵按一下「書名」,然後選取「建立」> 「集合」。我們要將其命名為「屬於系列」。在「條件」索引標籤中,選擇「依欄位」並使用「系列名稱」「計數」、as >= 1。

在「版本」表中,「格式」欄位十分詳細,包括指定「大眾市場平裝本」與「一般平裝本」。這些詳細資料在某些情況下很有用,但有時我們會想要以「精裝本」與「平裝本」來概括。在「資料」窗格中,以右鍵按一下「版式」欄位,然後選取「建立」>「群組」 。我們會將其命名為「書封」。按一下 Control,選取除了「精裝本」以外的所有項目,然後按一下「群組」。群組名稱會自動反白顯示,我們可以將其稱為「平裝本」

如同「作者姓名」計算,我們剛才所建立的項目在單一表中相關,因此會保留在「資料」窗格的那些表中。

分析關聯資料

讓我們來對關係與聯結之間的分析進行一些比較。我們建議您下載問題 1問題 2 的配套工作簿,而不要繼續從上方使用您自己的資料來源。如果您發現問題 1 的資料來源設定或步驟有任何問題,請注意,這些問題是針對案例目的而刻意設計。

問題 1:每本書有多少個版本? 

重要資訊:問題 1 的視訊是以 beta 軟體錄製的。2020.2 的發行版本會正確處理我們在相關資料來源中導入錯誤的嘗試。當您照著操作時,您的工作簿將會與視訊內容不符 - 關係值將是正確的。基於教學目的,我們嘗試瞞過產品,並強制導入錯誤,若造成不便,請您體諒。

我們將藉由對兩個資料來源進行一些基本分析來設定。我們會為每本書建立一個長條圖,並根據書名來查看版本的數量。

已關聯已聯結

使用相關資料來源:

  1. 將書名帶入列
  2. 將版本(計數)帶入欄
  3. 在工具列中按一下「標籤」圖示,以開啟標籤
  4. 在工具列中按一下「降冪排序」圖示

 

使用聯結資料來源:

  1. 將書名帶入列
  2. 將 ISBN 帶入欄
  3. 以右鍵按一下膠囊,並選取「度量」>「計數」 
  4. 在工具列中按一下「標籤」圖示,以開啟標籤
  5. 在工具列中按一下「降冪排序」圖示

立刻就能清楚看到,計數並不是聯結資料的正確彙總。然而,相關資料也有問題。讓我們來檢視資料,看看發生了什麼問題,以及如何修正。觀看影片(或閱讀影片文字檔)以瞭解如何修正。

影片:資料驗證與修正資料模型

問題 1 影片文字檔

已聯結

我們在此查看聯結資料。在聯結視覺效果中,我們將要來瞭解標記的基礎資料。

這個檢視資料對話方塊包含兩個索引標籤:「摘要」與「完整資料」。

  • 同一本書會有很多的列,這很可能由於所有聯結而出現重複。

為了處理重複問題,我們要將檢視中「ISBN」欄位的彙總變更為「計數不重複」。請記得,在幾乎所有的分析案例中,我們都需要考量這種重複問題,並且要藉由正確的彙總、篩選或如何架構視覺效果來解決這些問題。

已關聯

讓我們來瞭解相關資料來源的結構以及我們的聯結。在相關視覺效果中,我們將要來瞭解標記的基礎資料。

我們也會看到檢視資料對話方塊中包含兩個索引標籤,但在這裡是「版本」索引標籤,而非「完整資料」。視覺效果中所使用的每個表,都會有其自己的索引標籤。

  • 這本書的列增加了一倍,而我們知道聯結會導致重複;而且此資料來源中的「書」表,實際上是聯結了「資訊」與「獎項」的「書」表。

我們可以使用「書名」與「獎項名稱」來建立一個視覺效果,並向下捲動以進行調查。果然,《The Mallemaroking》獲得了兩個獎項。為這些表建立關聯會比聯結它們來得更好。

我們將返回「資料來源」索引標籤,將「獎項」表從聯結移除,並為其建立關聯。現在,我們就不必再擔心這個資料來源的重複問題了。

問題 2:在擁有系列書的作者之中,誰有最多的售書巡迴活動?

影片:處理不同的詳細層級

問題 2 影片文字檔

讓我們來看看,我們將處理哪些作者。使用相關資料來源,我們要將作者姓名系列名稱帶入列。

由於相關資料來源會在只包含維度的表中減少不相符的資料,所以要著重於與我們相關的資料。我們可以看到總共有七位作者,其中有兩位撰寫了兩個系列。如果您不想要只看見相符的值,可以前往「分析」功能表 >「表配置」,並勾選「顯示空列」,來還原不相符的值(這比較像舊版行為)。

已關聯已聯結

使用相關資料來源:

  1. 「屬於系列」集合從「書」表移動至篩選條件架。在預設情況下,只會篩選集合中的成員。
  2. 作者姓名帶入列。
  3. 售書巡迴活動帶入欄。

使用聯結資料來源:

  1. 「屬於系列」集合帶入篩選條件架。
  2. 作者姓名帶入列。
  3. 售書巡迴活動帶入欄。

此處的數字看起來有點不對勁。

就聯結資料來說,我們知道聯結會導致重複,也知道某幾位作者有跨系列的書。所以,我們不能只是將彙總變更為 MIN 或 MAX,因為會缺少同時擁有多個系列作品的作者的資訊。

我們真正想要的是各個系列的活動數量,並依作者來進行視覺化。這是詳細層級 (LOD) 運算式的典型案例。我們要建立一個「系列活動」計算:

{FIXED [Series Name] : MIN ([Book Tour Events])}

請注意,MIN 是用於處理單一系列的活動重複。

現在,如果將這個新欄位帶入欄之中,而非原本的活動欄位,我們就能得出正確的值。

對於相關資料,我們不需要執行這類動作。關係是一項很聰明的功能,可以瞭解本機詳細層級,以及「作者」表透過「書」和「資訊」表至「系列」表之間的關聯方式,並正確地將「活動」度量聯結並彙總至「作者姓名」,而無需編寫 LOD 計算。

因此,請善用此功能來為您的資料建立關聯。自己親自試試!您可以下載「書店」資料(連結在新視窗開啟),或使用您自己的資料。嘗試使用篩選功能、表計算、建立各種圖表類型、設定效能選項,並且盡可能擴展關係。

相關資料的使用提示

  • 經常檢視基礎資料,以驗證標記所代表的資料。
  • 如果您沒有被要求聯結,且可能基於某些原因而需要使用,您可以藉由關係來獲得更多的彈性。
  • 如果您不想要只看見相符的值,可以前往「分析」功能表 >「表配置」>「顯示空列」,來還原不相符的值。

相關資源

準備好處理與關係有關的計算了嗎?請參閱善加運用計算關係

準備好繼續探索如何進行與關係有關的複雜分析了嗎?請參閱善加運用更深入的關係

若要直接從產品管理團隊取得有關關係技術基礎的詳情,請參閱 Tableau 部落格上有關關係的系列文章。

另請參閱「動作分析」(連結在新視窗開啟)中有關關係的影片播客,例如 Tableau 為何發明關係?(連結在新視窗開啟)按一下內容庫(連結在新視窗開啟)中的「影片播客」以查看更多資訊。

感謝您的意見反應!已成功提交您的意見回饋。謝謝!