擷取資料
資料擷取是與原始資料集分開儲存的資訊子集。它有兩個目的:提高效能以及利用原始資料中可能不可用或不支援的 Tableau 功能。藉助建立資料擷取,可以透過套用篩選器和設定其他限制來有效減少整體資料量。
建立資料擷取後,可以使用原始來源中的最新資料對其進行重新整理。在重新整理過程中,可以靈活地選擇完整重新整理(取代擷取中的所有現有內容)或累加式重新整理(僅包含自上次重新整理以來的新列)。
擷取的優勢
- 處理大型資料集:擷取可以處理大量資料,甚至達到數十億列。這讓使用者能夠有效地處理大量資料集。
- 改進的效能:與直接連線到原始資料的檢視相比,與利用擷取資料來源的檢視進行互動可以帶來更好的效能。擷取可最佳化查詢效能,從而加快資料分析和視覺效果的速度。
- 增強的功能:透過擷取,可以存取原始資料來源可能不可用或不支援的其他 Tableau 功能,例如特定功能。
- 離線資料存取 (Tableau Desktop):擷取允許離線存取資料。這意味著即使原始資料來源不可用,使用者仍然可以在本機儲存、操作和使用資料。
建立擷取
建立擷取的方法有多種,但主要方法如下所述。
- 連線到資料並在「資料來源」頁面上設定資料來源後,在右上角選取擷取,然後選取編輯連結,以開啟「擷取資料」對話方塊。
- 展開每個部分以查看其選項,或選取「全部展開」。本主題後面會詳細介紹每個部分的詳細資訊。
- 資料儲存:在邏輯資料表或實體資料表之間切換。
- 篩選器:設定篩選器來限制根據欄位及其值擷取的資料量。
- 彙總:選取「彙總可見維度的資料」,以使用其預設彙總來彙總度量。也可以選取將日期匯總到指定的日期層級,例如年、月等。
- 列數:設定要擷取的列數。可以擷取所有列、範例或前 N 列。
- 累加式重新整理:根據特定的欄和日期範圍設定累加式重新整理。也可以選擇是否要取代或附加最後的列。
- 完成後,選擇儲存設定。
- 選取工作表索引標籤。這將啟動建立擷取。
- 接下來,選取儲存擷取的位置。
- 輸入擷取檔案名稱。
- 選取「儲存」。若未顯示「儲存」對話方塊,請參閱「擷取疑難排解」部分。
擷取設定說明
建立擷取時,可以進行多種設定。
在資料儲存下,可以選取邏輯資料表或實體資料表。邏輯資料表將資料來源中每個邏輯資料表的資料儲存在一個擷取表中。另一方面,實體資料表將資料來源中每個實體資料表的資料儲存在一個擷取表中。
邏輯資料表和實體資料表選項都只會影響擷取中資料的儲存方式。這些選項不會影響擷取中資料表在「資料來源」頁面上的顯示方式。
例如,假設您的擷取由一個包含三個實體資料表的邏輯資料表組成。若直接開啟已設定為使用預設選項「邏輯資料表」的擷取 (.hyper) 檔案,則會看到資料來源頁面上列出一個資料表。但是,若開啟的擷取使用已封裝資料來源 (.tdsx) 檔案或資料來源 (.tdsx) 檔案及其對應的擷取 (.hyper) 檔案,則會在資料來源頁面上看到所有三個資料表。
邏輯資料表
Tableau 使用邏輯資料表作為儲存擷取資料的預設結構。Tableau 一般建議您在設定和使用擷取時,使用預設資料儲存選項「邏輯資料表」。您可能需要的許多功能(例如擷取篩選器、彙總、前 N 個或傳遞函數 (RAWSQL))只有在使用邏輯資料表選項時才可用。但是,無法將資料附加到具有多個邏輯資料表的擷取中。
若選擇邏輯資料表選項並且擷取包括聯結,則在建立擷取時會套用聯結。
實體資料表
若資料符合以下所有條件,則此選項會在查詢時執行聯結,並可能會提高效能並減小擷取檔案的大小:
- 實體資料表之間的所有聯結都是等效 (=) 聯結。
- 用於關係或聯結之欄的資料類型相同。
- 未使用傳遞函數 (RAWSQL)。
- 未設定累加式重新整理。
- 未設定擷取篩選條件。
- 未設定「前 N 個」或採樣。
- 無需將任何資料附加到擷取中。
使用實體資料表的提示
大於預期的擷取:要確定擷取是否大於其應有的大小,使用「邏輯資料表」選項的擷取中的列總和必須高於建立擷取之前所有合併資料表的列總和。若遇到這種情況,請嘗試使用「實體資料表」選項。
篩選選項:使用「實體資料表」選項時,會停用有助於減少擷取中資料的其他選項,例如擷取篩選器、彙總、前 N 個和取樣。如果需要減少使用「實體資料表」選項的擷取資料,請考慮使用以下其中一項建議,先篩選資料,然後再將資料轉移至 Tableau Desktop:
- 實體資料表之間的所有聯結都是等效 (=) 聯結。
連線到資料,並使用自訂 SQL 定義篩選器。不要連線到資料庫資料表,而是使用自訂 SQL 連線到資料。建立自訂 SQL 查詢時,請確定它包含您需要減少擷取資料的適當篩選層級。有關 Tableau Desktop 中的自訂 SQL 的詳情,請參閱連線到自訂 SQL 查詢。
在資料庫中定義檢視。若您對資料庫具有寫入存取權限,請考慮定義僅包含擷取所需資料的資料庫檢視,然後從 Tableau Desktop 連線到該資料庫檢視。
擷取的列層級安全性:若想在列層級保護擷取資料的安全,建議使用「實體資料表」選項來實現此情境。有關 Tableau 中列層級安全性的詳情,請參閱限制列層級存取權限。
篩選器
使用篩選器來限制根據欄位及其值擷取的資料量。
附註:對於具有單一基底資料表的資料來源,邏輯資料表上的擷取篩選器為遍佈式(適用於整個資料來源)。若資料來源具有使用多事實關係的多個基底資料表,擷取篩選器是針對每個資料表的,並且僅適用於邏輯資料表本身。有關遍佈式篩選器和針對每個資料表的篩選器的更多資訊,請參閱篩選資料來源中的資料。
彙總
彙總允許您彙總度量。也可以選取將日期匯總到指定的日期層級,例如年、月等。該範例會顯示如何為您可以選擇的每個彙總選項擷取資料。
- 原始資料:每筆記錄會顯示為單獨的列。原始資料有七列。
- 可見維度的彙總資料(無匯總):具有相同日期和字母的記錄已彙總到單一列中。擷取中共有 5 列。
- 可見維度的彙總資料(按月匯總日期):日期已匯總到月層級,並且同一區域的記錄已彙總到單一列中。擷取中共有 3 列。
原始資料 | 無匯總的彙總 | 有匯總的彙總 |
![]() | ![]() | ![]() |
列數
可以擷取所有列或前 N 列。Tableau 首先會應用篩選器和彙總,然後從經過篩選和彙總的結果中擷取列數。列數選項取決於要從中進行擷取的資料來源的類型。您可能在「擷取資料」對話方塊中看不到「採樣」選項,因為某些資料來源不支援採樣。
附註:您最初在「資料來源」頁面或工作表索引標籤上隱藏的任何欄位都將從擷取中排除。按一下隱藏所有未使用的欄位按鈕可從擷取中移除隱藏欄位。
大多數資料來源都支援累加式重新整理。您可以將重新整理設定為僅新增自上次擷取資料以來新增的列,而不是重新整理整個擷取。
例如,您可能有一個每天都使用新銷售交易進行更新的資料來源。可以新增當天發生的新交易,而不是每天重新建立整個擷取。
累加式重新整理提示
累加式重新整理
- 在列數中,需要選取所有列。
- 若啟用彙總,則累加式重新整理不可用。
進階設定:
- 進階設定與篩選器不相容。
擷取提示
儲存工作簿以保留與擷取的連線
建立擷取後,工作簿將開始使用您的資料的擷取版本。但是,在儲存工作簿之前,不會儲存與資料擷取版本的連線。這意味著,如果不先儲存就關閉工作簿,則在下次開啟該工作簿時,該工作簿將連線到原始資料來源。
在抽樣資料與整個擷取之間切換
處理大型擷取時,建立較小的資料範例會很有幫助。這可讓您設定檢視,而不必在每次向分析中新增欄位時執行冗長的查詢。透過在「資料」功能表中選取適當的選項,可以輕鬆地在使用範例資料和完整資料來源之間切換。
不要直接連線到擷取
將擷取儲存到電腦時,可以使用新的 Tableau Desktop 直接連線到擷取。但是,由於以下一些原因,不建議這樣做:
- 資料表的名稱可能不同。擷取使用特殊命名來確保每個資料表都有唯一的名稱,這可能很難理解。
- 您無法更新或重新整理擷取。直接連線到擷取時,Tableau 會將其視為原始資料來源,而不是副本。這意味著您無法將其連結回原始資料來源。
- 資料表之間的結構和關係將會丟失。資料表之間的排列和連線儲存在 .tds 檔案中,而不是在 .hyper 檔案中。因此,直接連線到 .hyper 檔案時,將丟失此資訊。若使用邏輯資料表儲存進行擷取,將看不到任何對原始實體資料表的引用。
如果使用資料原則中的使用者功能連線到虛擬連線,請勿使用資料擷取
如果虛擬連線的資料原則包含使用者函數(連結在新視窗開啟)(例如 USERNAME()
),並且從工作簿或資料來源連線到它並在其中建立資料擷取,該資料擷取將僅包含在建立資料擷取時與虛擬連線資料原則相符的列。若要利用資料原則中有使用者函數的虛擬連線,請使用從工作簿或資料來源到虛擬連線的即時連線,而不是擷取。
從工作簿中移除擷取
您可以隨時移除擷取,方法是在「資料」功能表中選取擷取資料來源,然後選取 。移除擷取時,您可以選取 [僅從工作簿中移除擷取] 或 [移除並刪除擷取檔] 。後一個選項將從硬碟中刪除擷取。
查看擷取歷程記錄 (Tableau Desktop)
您可以檢視上次更新擷取的時間以及其他詳細資料,方法是在 [資料] 功能表中選取資料來源,然後選取 。
若開啟所儲存的具有擷取的工作簿,並且 Tableau 找不到該擷取,則在出現提示時,請在 [未找到擷取] 對話方塊中選取以下選項之一:
- 尋找擷取:如果擷取存在,但不在 Tableau 最初儲存它的位置中,請選取此選項。按一下 [確定] 以開啟 [開啟檔] 對話方塊,您可以在其中指定擷取檔案的新位置。
- 刪除擷取:如果您沒有對擷取的進一步需求,請選取此選項。這相當於關閉資料來源。將會刪除引用資料來源的所有已開啟工作簿。
- 停用擷取:使用從中建立擷取的原始資料來源,而不是擷取。
- 重新組建擷取:重新組建擷取。會自動應用您在最初建立擷取時指定的所有篩選器和其他自訂項。
擷取疑難排解
- 建立擷取花費很長時間:根據資料集的大小,建立擷取資料可能需要較長時間。但在擷取資料並將其儲存到電腦後,可以提高效能。
- 未建立擷取:如果資料集包含大量的行(例如,數千行),則在某些情況下 Tableau 可能無法建立擷取。如果遇到問題,請考慮擷取較少的欄或重新組建基礎資料。
- 「儲存」對話方塊未顯示或未依據 .twbx 建立擷取: 如果按照上面的程序從已封裝工作簿中擷取資料,「儲存」對話方塊不會顯示。在依據已封裝工作簿 (.twbx) 建立擷取時,擷取檔會自動存儲在與已封裝工作簿關聯的檔案包中。若要存取依據已封裝工作簿建立的擷取檔案,您必須將工作簿解包。有關詳情,請參閱已封裝工作簿。
擷取功能更新
累加式擷取的子範圍重新整理
在 Tableau 版本 2024.2 及更高版本中,可以指定額外的時間段來重新擷取先前擷取的資料,並捕獲可能已發生的任何變更。有關詳情,請參閱重新整理擷取。
累加式重新整理
從版本 2024.1 開始,Tableau 引入了一項功能,讓使用者能夠使用非唯一索引鍵資料行對資料擷取執行累加式重新整理。有一個支援這些進階設定的新 UI 。
此次更新還在擷取過程中引入了一個額外的步驟。在累加式重新整理期間,Tableau 首先從資料擷取中移除與先前記錄的最高值相符的列。隨後,Tableau 查詢值高於或等於前一個最高值的所有列。此方法可確保所有已刪除的列以及所有新增的列都有納入。
網路中的擷取
從版本 2020.4 開始,資料擷取可在 Web 製作過程中和內容伺服器中提供。現在,您不再需要使用 Tableau Desktop 來擷取資料來源。有關詳情,請參閱在 Web 上建立擷取。
邏輯資料表和實體資料表擷取
隨著在 2020.2 版之 Tableau 資料模型中引入邏輯資料表和實體資料表,擷取儲存體選項已從單一表和多表變更為邏輯資料表和實體資料表。這些選項能夠更清楚地描述如何儲存擷取。有關詳情,請參閱擷取資料。
棄用 .tde 格式
建立擷取時,它會使用 .hyper 格式。.hyper 格式的擷取利用了改進的資料引擎,此引擎針對更大的資料集支援更快的分析和查詢效能。從 2023 年 3 月開始,使用 .tde 格式的擷取在 Tableau Cloud、Tableau Public 和 Tableau Server(版本 2023.1.0)中已棄用。版本 2024.2 是可以開啟 .tde 格式檔案的最後一個版本。有關詳情,請參閱擷取升級為 .hyper 格式。
為提高擷取效率和可擴充性,擷取中值的計算方式可與某些資料來源不同。變更計算值的方式可能會影響檢視中標記的填充方式。在某些極少數的情況下,變更可能會導致檢視形狀發生變化或變為空白。這些變更可能也適用於多連線資料來源、使用檔資料即時連線的資料來源、連線到 Google Sheets 資料的資料來源、基於雲端的資料來源、純擷取資料來源以及 WDC 資料來源。
日期和日期時間值的格式
擷取必須遵循一致且嚴格的規則,這些規則規定如何透過 DATE、DATETIME 和 DATEPARSE 函數詮釋日期字串。這會影響日期的解析方式,或者這些函數所允許的日期格式和模式。更具體地說,這些規則可以概括如下:
- 計算日期,然後按欄進行分析,而不是按列進行分析。
- 根據建立工作簿之位置的地區設定分析日期,而不是根據開啟工作簿之電腦的地區設定分析。
這些規則可讓擷取更加高效,並產生與商業資料庫一致的結果。
日期/日期時間值發生變化的常見原因
- 如果日期不確定並且可以用多種不同方式進行解釋,則會根據 Tableau 為該列確定的格式來解釋日期。有關一些範例,請參閱下面的情境 1。
- 當函數必須解析 YYYY-MM-DD (ISO) 格式時。有關範例,請參閱情境 2。
- 當函數解析年份時,會按以下方式解釋年份:
- 年份 [07] 被解釋為 [2007]
- 年份 [17] 被解釋為 [2017] 。
- 年份 [30] 被解釋為 [2030] 。
- 年份 [69] 被解釋為 [2069] 。
- 年份 [70] 被解釋為 [1970]。
Null 值的常見原因
- 當函數必須在單個列中解析多種日期格式時。在 Tableau 確定日期格式後,列中與格式不同的所有其他日期都將變為 Null 值。有關一些範例,請參閱下面的情境 1。
- 當函數必須解析 YYYY-MM-DD (ISO) 格式時。超出 [YYYY] 、 [MM] 或 [DD] 允許值的值將導致 null 值。有關範例,請參閱情境 2。
- 當函數必須解析包含尾隨字元的日期值時。例如,諸如 [午夜] 之類的時區和夏令時尾碼和關鍵字會導致出現 Null 值。
- 當函數必須解析無效的日期或時間時。例如,32/3/2024 會導致出現 Null 值。再例如,25:01:61 會導致出現 Null 值。
- 當函數必須解析矛盾的輸入時。例如,假設模式為「dd.MM (MMMM) y」,輸入字串為「1.09 (August) 2024」,其中「9」和「August」都是月份。結果是 Null 值,因為月份值不相同。
- 當函數必須解析矛盾的模式時。例如,一個指定西曆 (y) 和 ISO 週 (ww) 混合的模式會導致出現 Null 值。
情境 1
假設您有一個以英語地區設定建立的工作簿,該工作簿使用 .tde 擷取資料來源。此後的資料表會顯示該擷取資料來源中包含的一個字串欄。
10/31/2024 |
31/10/2024 |
12/10/2024 |
根據特定的英文地區設定,我們可以確定日期欄的格式遵循 MDY(月日年)格式。以下各表顯示了當使用 DATE 函數將字串值轉換為日期值時 Tableau 基於此地區設定所顯示的內容。
2024 年 10 月 31 日 |
2024 年 10 月 31 日 |
2024 年 12 月 10 日 |
如果以德語地區設定開啟該擷取,您將看到以下內容:
31 Oktober 2024 |
31 Oktober 2024 |
12 Oktober 2024 |
但是,在使用版本 10.5 或之後版本的德語地區設定中開啟擷取後,將會嚴格實施德語地區設定的 DMY(日月年)格式,並造成出現 Null 值,原因是其中一個值未遵循該 DMY 格式。
Null |
2024 年 10 月 31 日 |
2024 年 10 月 12 日 |
情境 2
假設資料來源中包含一個字串資料欄。
2024-10-31 |
2024-31-10 |
2024-12-10 |
2024-10-12 |
由於日期使用 ISO 格式,因此日期列始終採用 YYYY-MM-DD 格式。以下各表顯示了當使用 DATE 函數將字串值轉換為日期值時 Tableau 所顯示的內容。
2024 年 10 月 10 日 |
Null |
2024 年 12 月 10 日 |
2024 年 10 月 12 日 |
排序順序和區分大小寫
擷取支援排序規則,因此可以更恰當地對包含重音符號或大小寫不同的字串值進行排序。
例如,假設您有一個字串值表。就排序順序而言,這意味著,像 [Égypte] 這樣的字串值現在恰當地列在 [Estonie] 之後和 [Fidji] 之前。
關於大小寫,相同的字串值被視為唯一,因此會儲存為個別的值。
擺脫「前 N 個」查詢中的束縛
擷取中的「前 N 個」查詢可能會針對排名中的特定位置產生重複值。例如,假設您建立了一個 [前 3個] 篩選器。位置 3、4 和 5 具有相同的值。頂部篩選器傳回 1、2 和 5 個位置。
浮點值的精度
擷取能更好地利用電腦上的可用硬體資源,因此能夠以高度並行的方式執行數學運算。正因如此,.hyper 擷取的實數彙總順序可能會不同。採用不同方式對數位進行彙總後,每次計算彙總時您可能都會在檢視中的小數點後看到不同的值。這是因為浮點加法和乘法不一定遵循結合律。也就是說,(a + b) + c 不一定與 a + (b + c) 相同。同樣,由於浮點乘法不一定遵循指派律,因此實數的彙總順序也可能不同。也就是說,(a x b) x c 不一定與 a x b x c 相同。.hyper 擷取中這種類型的浮點舍入行為類似於商業資料庫中的浮點舍入行為。
例如,假設您的工作簿在由浮點值組成的彙總欄位上包含滑塊篩選器。由於浮點值的精度已變更,因此篩選器可能會排除定義篩選器範圍上限或下限的標記。沒有這些數字可能會導致出現一個空白檢視。要解決此問題,請移動篩選器上的滑塊或刪除並再次新增篩選器。
彙總的準確性
擷取能更好地利用電腦上的可用硬體資源,針對大資料集進行了優化,因此能夠以高度並行的方式計算彙總。正因如此,.hyper 擷取執行的彙總可能與商業資料庫中的結果類似,而超過專業統計計算軟體中的結果。如果使用小資料集或者需要更高的準確性,請考慮透過輔助線、摘要卡統計或者像方差、標準差、關聯或協方差這樣的表計算函數來執行彙總。
可以使用擷取 API 建立 .hyper 擷取。對於發佈擷取等工作,可以使用 Tableau Server REST API 或 Tableau Server 用戶端 (Python) 程式庫。對於重新整理工作,也可以使用 Tableau Server REST API。有關詳情,請參閱Tableau Hyper API。