发布日期:2024-10-19 10:34 点击次数:186
使工具有多個相關資料表的資料來源時就去色姐姐,會影響分析在 Tableau 中的運作神色。因為多個相關表具有獨立的領域,且保有其原生的詳細进度,因此當您將欄位拖曳至檢視中時:
資料會在其当然的詳細資訊層級查詢。僅查詢與視覺结果相關的資料。表之間的關係會影響查詢的結果。建置視覺结果的经过,可能會因為欄位表在資料模子中相互關聯的神色,或其是否未径直關聯,而有所不同。有關資料來源增強功能的概觀以及使用關係的介紹,請觀看這段 5 分鐘的影片。
附註:本影片和本主題中顯示的編輯關係介面與當前版块略有不同,但功能谈判。
不错在善加運用關係和以下 Tableau 部落格著作中瞭解關係若何使命的詳情:
關係,第 1 部分:在 Tableau 中導入新的資料建模(連結在新視窗開啟)關係,第 2 部分:教唆和技能(連結在新視窗開啟)關係,第 3 部分:在多個關聯資料表中提問(連結在新視窗開啟)另請參閱「動作分析」(連結在新視窗開啟)中有關關係的影片播客,举例 Tableau 為何發明關係?(連結在新視窗開啟)按一下內容庫(連結在新視窗開啟)中的「影片播客」以检察更多資訊。
在 Tableau 版块 2024.2 及之後版块中,Tableau 資料模子解救透過多重身分關係進行多事實分析與共用維度。有關詳情,請參閱關於多事實關係資料模子(連結在新視窗開啟)、何時使用多事實關係模子(連結在新視窗開啟)與建置多事實關係資料模子(連結在新視窗開啟)。
備註:您仍然不错在 Tableau 中建设單一表資料來源。您不错使用聯結、聯集、自訂 SQL 等機制的組合來建置邏輯資料表。Tableau 中的單一表分析行為並未變更。對包含維度和度量搀杂的單一邏輯資料表進行分析的運作神色,與 Tableau 2020.2 預發行版块的運作神色谈判。
分析密致事項驗證關係有多個選項可用來驗證資料模子以進行分析。當您為資料來源建设模子時,建議您前去使命表,選取該資料來源,然後建置視覺结果以探索記錄計數、預期的資料、不相符的值、null 或重複的度量值。請嘗試使用不同表中的欄位,以確定一切行為都如您所預期。
要查找的內容:
您在資料模子中的關係是否使用恰当其表的正確欄位?新增加個相符欄位配對,是否會使關係更精確?將不同的維度和度量拖曳至檢視中,會產生什麼結果?您是否看到預期的列數?若是您將任何效率選項設定變更為非預設的設定,您在視覺结果中看到的值是否恰当預期?若是不是,您可能需要檢查設定,或重設為預設值。驗證關係與資料模子的選項:
每個表在該表的詳細層級都會包含其記錄的計數,以名為 TableName(Count) 的欄位示意。若要检察表的計數,請將「計數」欄位拖曳至檢視中。若要检察所有这个词表的計數,請在「資料」窗格中,選取每個表的「計數」欄位,然後按一下「顯示」中的「翰墨表」。按一下「資料」窗格中的「檢視資料」,以检察每個表的列數和資料。此外,在開始建设關係之前,在分析之前或期間檢視資料來源中的資料,可能有助於您瞭解每個表的範圍。有關詳情,請參閱檢視基礎資料。將維度拖曳到列,以检察狀態列中的「列數」。若要检察不恰当的值,請按一下「分析」功能表,然後選取「表确立」>「顯示空列」或「顯示空欄」。您也不错將不同度量拖曳到檢視中,举例視覺结果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您從該表看見維度的所有这个词值。僅維度視覺结果將多表資料來源與相關資料表搭配使用時:若是建置僅維度的視覺结果,Tableau 會使用內部聯結,况兼您無法看到完满的不相符網域。
若要检察維度值的部分組合,您不错:
使用「顯示空列/欄」以检察所有这个词可能的列。按一下「分析」功能表,然後選取「表确立」>「顯示空列」或「顯示空欄」。請密致,此設定也會觸發「日历」與「數位資料桶」欄位的密集化,這可能是无谓要的。將度量新增到檢視中,举例,視覺结果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您看見來自該表之維度的所有这个词值。有關詳細資訊,亦請參閱維度的不相符值行為可能會令您感到不测與多資料表分析疑難排解。
何時使用 LOD 計算與運算式由於 Tableau 不错瞭解輸入表的詳細層級 (LOD),是以您不需要使用 LOD 計算來移除聯結所導致的无谓要重複。
您可能仍但愿使用 LOD calcs 進行下列動作:
處理來源表中不當的重複資料。計算多層彙總(举例,總和的平均值)進行同類群組分析(举例,計算每個客戶的第一個訂單日历)若是 LOD calc 的維度包含單一表中的欄位,則該 LOD 計算將顯示在「資料」窗格中的所屬表中。
丝袜英文多資料表分析範例以下範例組將示範若何跨多個相關表查詢資料。這個多表資料來源包含不同電影扮装的演員上演簡短清單。
「上演」表中的列示意演員在特定電影中饰演了特定扮装。在此資料辘集,演員的上演可能是零或更多。
您不错在以下 Tableau 部落格著作中瞭解關係若何使命的詳情:
關係,第 1 部分:在 Tableau 中導入新的資料建模(連結在新視窗開啟)關係,第 2 部分:教唆和技能(連結在新視窗開啟)範例 1:聯結資料與相關資料的單一問題分析當您在 2020.2 之前的 Tableau 版块中連線至資料時,您的資料來源可能只包含單一表,或包含互相聯結或聯集為單一非標準化表的多個表。從 Tableau 2020.2 版块開始,Tableau 即可識別並保留多表資料來源的標準化資料,其中表資料會保握獨立,况兼每個表都會保有原生的詳細进度。以下範例說明了單一表與多表資料來源之間的分析差異。
此範例顯示三個電影資料表:「上演」、「演員」和「電影」。
這些表不错聯結在所有这个词,在「演員」上將「上演」表和「演員」表聯結在所有这个词 =「演員」,在「電影」上將「上演」表和「電影」表聯結在所有这个词 =「電影」。若是聯結是都备外部聯結,就不會遺失任何列,最終輸出的外觀會如下所示。請密致,聯結子句中使用的欄位會顯示兩次。
以這種神色合併到單一表中的資料稱為非標準化或扁平。
這個聯結的資料是扁平資料。每列都會包含一位演員在一部電影中上演的一個扮装(因此 John Rhys-Davies 在《魔戒三部曲:王者再臨》中有兩列,因為他饰演了兩個扮装);因此,資料的粒度為電影中的扮装層級。多個列中的相關資訊會重複。《魔戒三部曲:王者再臨》的首映日历出現兩次,因為資料辘集含有這部電影的兩個扮装。John Rhys-Davies 的身高列出五次,因為他的演員身份有 5 個不重複的扮装/電影組合。
因此,這個扁平資料具有一些需要密致的特徵。举例,若是您但愿依照演員電影的平均總收入來繪製演員的身高,您可能會假設我們不错將「身高」帶入「欄」,並將「總收入」帶入「列」,然後获得「總收入」的平均值。可是,若是您這麼作念,預設檢視看起來會不太對勁。在這裡,John Rhys-Davies 身高會是 925 公分,也等于超過 30 英尺!
這是因為預設彙總為 SUM。資料中有 5 列是他的,因此我們會得出他真實身高 185 公分的 5 倍。您不错變更「身高」上的彙總(举例平均值或最小值)來解決此問題。這樣會有用地僅傳回一列的值(因為它們都谈判)。
變更彙總時,身高會更為传神。可是,現在您必須密致平均總收入。請記住,Tableau 會將 John Rhys-Davies 身高的所有这个词五列都列入考量。當您考慮他上演之電影的平均總收入時,就不應該是五列的平均值,而是三部電影的平均值。您並不思要因為他在《魔戒三部曲:王者再臨》中饰演了兩個扮装而計算兩次《魔戒三部曲:王者再臨》的總收入。但這等于所發生的狀況嗎?
快速計算一下,《魔戒》系列電影的平均值應該是 (869 + 923 + 1119)/3,或是 $970.3。可是,散佈圖中的值是 $990.6。当今的平均值來自五個列 (869 + 923 + 923 + 1119 + 1119)/5。
這個問題不像透過變更彙總來解決身高問題一樣容易。您需要使用詳細層級 (LOD) 運算式,來修改從預設的「上演」进取到「電影」層級中,Tableau 检察的詳細層級為何。在我們來看,您不错將 LOD 總收入計算建设為 {FIXED [Movie] : MIN([Gross (USD millions)])},然後获得新的 LOD 總收入欄位的平均值。
LOD 運算式不错解讀為「對每部電影傳回其最低總收入」。這樣就能夠摒除重複問題,因為即使檢視是以電影和演員組成,還是會一律傳回每部電影的總收入。
現在數字就正確了。John Rhys-Davies 身高 185 公分,况兼他在這個資料集的電影平均總收入是 970.3。您可能需要先瞭解資料為何會重複,以及 Tableau 若何彙總資料以顯示資料,本事確保傳回正確的值。
多個表中的標準化資料在邏輯表之間建设關係可能看似與建设聯結類似,但與其將資料展平到單一表中,Tableau 會透過所有这个词可能會產生的重複內容來握續密致表之間的關係。系統會在適當的詳細資料層級從每個表帶出資訊,並與其他資料建设關係。
在「資料來源」頁面上,您不會看到扁平表的「完满」網格檢視,第四色影pps因為它不存在。Tableau 會將所有这个词三個表保握原樣,况兼只會建设關係,也等于視檢視需要將所需的資料組合在所有这个词。
若要建设谈判的散佈圖,請將「身高」和「總收入」拖到檢視中,並將「總收入」設為平均值。這樣就不错了!Tableau 會检察每個表的資料與其他相關表之資料的關係,並推斷應若何顯示身高(依照演員)以及若何計算平均總收入(依照電影)。
範例 2:單一表中的維度若是視覺结果中的維度來自單一表,Tableau 就只會查詢一個表並顯示整個網域的結果。您不错新增度量,但仍然會看到整個網域。
举例,使用上方介紹的「電影上演」資料來源,將「演員」欄位新增到視覺结果時,會產生以下視覺结果:
由於視覺结果中的独一維度是來自「演員」表,因此 Tableau 只會針對「演員」表執行查詢。出現在「演員」表中的所有这个词演員都會顯示在視覺结果中,無論是否有任何上演。
將「上演演員」欄位作為度量引進檢視中,然後套用 COUNT 彙總,就會建设依照演員顯示的上演次數檢視。請密致,Sigourney Weaver 沒有任何上演,但檢視中還是會有她的名字。
範例 3:來自多個表的維度若是檢視中的維度來自多個表,Tableau 就會尋找與所有这个词維度相關的表,並顯示來自該表的網域。因此,您在範例 1 中看到的某些維度值會有所變更。
举例,將「電影」表中的欄位拖到視覺结果中會變更查詢。由於「電影」和「演員」表是因為「上演」表而相關,因此查詢只會傳回「上演」表中存在的「演員/電影」配對。
由於 Sigourney Weaver 在此資料辘集沒有任何上演(因此與資料辘集的任何電影均不相關),「演員/電影」配對的視覺结果就不會顯示她的:
範例 4:無法依照維度拆分的度量若是度量無法依照維度拆分,Tableau 就會在該維度間複製度量。
下一個視覺结果會依照電影顯示總收入金額。由於這兩個欄位都來自「電影」表,因此 Tableau 只會查詢「電影」表。
「電影」表包括每部電影已彙總的總收入,如以下視覺结果所示(建设此資料集時無法获得《復仇者聯盟:無限之戰》的總收入,因此顯示為零)。
若是您將「演員」新增至此視覺结果,Tableau 就會知谈弗成依照演員細分電影總收入,因為資料模子中並未提供這種更精細的資訊。相暗自,Tableau 會顯示每部電影的電影總收入,况兼會在演員之間重複顯示。
範例 5:與度量並非以階層神色相關的維度將「電影」維度從前一個視覺结果中移除後,會查詢每位演員的電影總收入總和。所得的結果是演員上演過之每部電影的彙總電影總收入。
在此案例中,維度、演員和「電影總收入」度量之間並無階層關係,况兼多位演員可能是在吞并部電影中上演。举例,Benedict Cumberbatch 和 Chris Hemsworth 都在《奇異博士》中上演。在此案例中,Tableau 會將《奇異博士》的電影總收入包括在這兩位演員的總數中。
由於谈判的影片總收入值包含在多位演員的總計中,因此 Tableau 無法径直計算這些值的總和。
可是,顯示此視覺结果的總數時,請密致:Tableau 會正確計算電影總收入,且不會包括重複的電影。
多資料表分析疑難排解
多表的相關表可能會有下列情況。下表說明了已知的情況就去色姐姐,以及若何對分析進行疑難排解的高階說明。
分析情況 說明僅維度視覺结果的內部聯結 在您將多個維度新增至吞并個檢視時,可能無法立即看見所有这个词的預期值。梗概,您可能會密致到,從不同的表對視覺结果新增維度時,會導致某些值從視覺结果中脱色。Tableau 所使用的查詢,會保留資料中實際存在的值的組合。這示意您會看見由表的內部聯結所產生的列,這些表為視覺结果提供維度。若要检察維度值的部分組合,您不错開啟「顯示空列/欄」,以检察所有这个词可能的列;梗概,您不错從檢視中所呈現的其中一個表來新增度量(举例 <MyTable>(Count)),以確保能看見該表中的所有这个词維度值。計算中的常量 在多表資料來源中,常量值的行為就像是來自其具有單一列的表。若是您彙總一個常量值,其行為就會像是在單一列上彙總。Sum(10) 會永遠等於 10。Avg(10) 也會永遠等於 10。Count(10) 會永遠等於 1。為能確保向後相容性,單一邏輯資料表資料來源中的常量值,其行為將會像是為表中的每個值複製的常量值。列層級計算中的常量,不會變更計算的列詳細層級。[Sales] + 10 計算的行為會像是與 [Sales] 欄位來自吞并個表。強制外部聯結 Tableau 會確保所有这个词度量值都呈現於視覺结果中(以及資料中實際出現的所有这个词維度值組合),是以若是要確保在資料中看見所有这个词可能的值(包括「不相符的空值」),您不错藉由從使命表的每個表中將度量帶入視圖之中來實現。我沒有看見跨表計算所預期的度量值 計算的域是其輸入的內部聯結。若是沒有相符的值來自度量計算的所有这个词輸入,它們將不會包含於度量計算之中。 在建设列層級計算之前,請考慮使用 LOD 計算將度量值移動至谈判的物件。在不同邏輯資料表的欄位之間切換的計算,會得出非預期的結果 若是您有一個在列層級欄位之間切換的計算,使用 Case 語句(若為語句)或諸如「IFNULL」的函數,您可能會看到非預期的結果,因為此計算是針對每一列來運算,其中列是計算輸入之間的內部聯結。比較好的措施是在彙總值之間切換,而不是試圖在列層級計算之中切換。這也能在單一脸色況中產生較好的效率。 此外,這仅仅跨表計算的一項問題,是以也不错使用 LOD 計算將所有这个词欄位帶入谈判的表中。請勿執行此操作:SUM( IF [Parameter] == "Foo" THEN [Field 1] ELSE [Field 2] END ) 請執行此操作:IF [Parameter] == "Foo" THEN SUM([Field 1]) ELSE SUM([Field 2]) END非預期的不相符空值 您可能會看到與非預期的 Null 維度值相關聯的度量值。這可能示意資料來源中的關係設定不正確。此外,也可能示意包含度量的表中實際上有不相符的值,而維度表中沒有對應的列。 在過去,若是選取錯誤的聯結類型,此資料就可能會遺失。但在使用關係時,這些不相符的值會被保留。若是您不思要看到不相符的值,不错使用篩選條件來根除。彙總值不正確 您使用的是關係或是聯結?若使用關係,在預設情況下不错正確運算彙總。若使用聯結,則您可能需要編寫 LOD 計算以重複值。您對關係的「效率選項」設定是否不正確?請嘗試將「效率選項」重設為預設值,並检察是否能產生正確的彙總。維度會複製度量值,而不是對其進行分區。維度篩選條件並不會子集度量。 檢查用於定義關係的欄位是否正確。Tableau 正在產生太多的查詢,或具有好多左聯結的查詢 檢查記錄或效率記錄,以检察產生了些许查詢,以及使用了些许左聯結。藉由新的資料建模功能,Tableau 不错產生具有左聯結的查詢及/或其他查詢,以確保不相符的度量值永遠會包含在視覺结果中。若是您不需要检察不相符的值,不错使用篩選條件從視覺结果中移除不相符 (NULL) 的值。這會導致較少的查詢。若是您知谈資料中沒有任何不相符的值,您不错在「效率選項」中,將每個關係的「參考完满性」設定設為「所有这个词值相符」。這也會導致較少的查詢。您還不错裁汰視覺结果的複雜性,以減少所產生的查詢數量。移除度量並隱藏篩選條件范畴項,是簡化多表相關資料查詢的關鍵措施。查詢包含許多子查詢 檢查記錄或效率記錄,以检察 Tableau 產生的查詢的複雜性。Tableau 會在必要時自動產生子查詢以重複資料,以產生正確的彙總。這類似於由 LOD 計算所產生的查詢。若是您知谈資料中的邏輯資料表之間的關係具有「多對一」或「一對一」基數,則您不错在關係「效率選項」中設定這項基數資訊。這不错讓 Tableau 摒除无谓要的子查詢,因為它會知谈不會發生重複。我過去是使用聯結來篩選資料 在 2020.2 版块中,Tableau 會奋勉復原不相符的值。在某些情況下,這示意它將會使用左聯結,而您可能已經指定了一個內部聯結,來专门地篩選資料。 若是您將此聯結所帶入的不相符值篩選出來,Tableau 能夠將查詢最好化為內部聯結。根據您的特定情況,可能不错將此內部聯結建模為邏輯資料表內的實體聯結。若是使用包含度量的表來篩選維度表,這種措施尤其有用,因為它不會導入額外的度量複製。