作者 | CDA數據分析師
Tableau內置的連接器可以連接到所有常用的數據源。
數據連接器
目前可以連接70多種數據源,分為本地連接和服務器連接。 Tableau支持的本地連接包括Excel、txt、csv、json等各類常見的源數據格式,還支持多種空間文件, 為使用地圖分析提供了條件。
Tableau支持的服務連接包括各類數據庫(如MySQL、Oracle、MongoDB)、在線數據服務(如google analtics)等,可以根據使用需要,與目標服務器建立連接關系。
如果以上提供的連接不滿足您的需求,可以選擇使用“其他數據庫 (ODBC)”或“Web 數據連接器”創建自己的連接。
設置數據源
Tableau數據源是數據與Tableau之間的鏈接,本質上是數據、連接信息以及基于數據進行的自定義操作的總和。
數據源包含:
- 有關數據存儲位置的信息,例如文件名和路徑或網絡位置。
- 有關如何連接到數據的詳細信息,例如數據庫服務器名稱和服務器登錄信息。
- 連接中任何表的名稱,以及有關各個表如何相互關聯的信息。
- 基于數據進行的自定義,例如計算、組和重命名字段等。
本地文件連接
打開Tableau Desktop進入數據連接界面,在連接到文件中選擇要連接的文件類型。這里以Excel文件為例,單擊“Microsoft Excel”在彈出的“打開”對話框中找到想要連接的文件。
雙擊或拖動表名至畫布區,下方會顯示數據預覽。
數據庫連接
在數據連接界面,連接到服務器中選擇要連接的服務器。這里以“MySQL”為例,單擊“MySQL”在彈出“MySQL”對話框輸入服務器IP、端口號、用戶名及密碼即可登錄到MySQL服務器。
建立連接后,在數據庫列表中選擇要連接的數據庫,下方會顯示當前數據庫下可用的工作表。雙擊或拖動表名至畫布區,下方會顯示數據預覽。
也可以雙擊或拖動“新自定義SQL”至畫布區,輸入SELECT語句以連接想要的數據。
剪貼板粘貼
- 在數據源選擇好目標數據,并進行復制操作(Ctrl+C )。
- 打開tableau,在連接窗口進行粘貼操作(Ctrl+V )。
- 數據導入成功,tableau跳轉到數據源頁面。
組合數據源
在一個工作簿中可以同時創建不同的數據連接。
- 連接到MySQL數據庫后,點擊“添加”在彈出的“添加連接”對話框中單擊“文本文件”,在彈出的“打開”對話框中找到想要連接的文件。
- 選擇不同連接下的數據表先后雙擊或拖放至畫布區,建立不同數據源下的表聯結關系。
數據聯結
當需要從多個數據表中獲取數據時,則要用到數據聯接操作。這里以兩表聯結為例,以兩個表的共有字段作為關鍵字段來建立聯結關系。 為了簡單直觀的操作演示,本文使用自制的Excel數據集demo,文件中包含table1和table2兩個數據表。
聯結方式
Tableau中支持四種聯結方式:內聯接、左聯接、右聯接和完全外部聯接。通常情況,Tableau會自動判斷兩張表的關鍵字段并進行關聯,如果關聯不正確或關鍵字段不一致無法自動關聯,可以手動進行關聯。
- 內聯結:僅保留兩個數據表中具有相同關鍵字段的行。
- 左聯結:包含左側表中所有值以及右側表中相對應的匹配值,如果右側表中沒有與左側表相匹配的項,則會顯示為null。
- 右聯結:包含右側表中所有值以及左側表中相對應的匹配值,如果左側表中沒有與右側表相匹配的項,則會顯示為null。
- 完全外部聯接:包含兩個表中的所有值,如果一張表的值在另一張表中沒有匹配項,則顯示為null。
數據合并
當需要將有多個結構一致的數據表整合匯總在一起時,則可以使用數據合并。數據聯接是橫向擴展,數據合并是縱向增加。 進行數據合并的要求是,每個數據表的==字段名、個數、順序和數據類型必須完全一致==。 為了簡單直觀的操作演示,本文使用自制的Excel數據集demo,文件中包含三個數據表。
手動數據合并
雙擊或拖放“新建并集”至畫布區,將需要合并的數據表拖入彈出的并集(手動)對話框。
合并后的數據表包含三個數據表的所有數據,并且各字段一一對應。需要注意的是,新增了sheet和table%20name兩個字段,用于說明并集中的值的來源。
自動數據合并
雙擊或拖放“新建并集”至畫布區,在彈出的“并集”對話框中選擇“通配符(自動)”。%20在“工作表”位置,將匹配內容改寫為“班”,其中“班”是共有的名稱,是通配符,用于匹配三個工作表。
合并后的數據表包含三個數據表的所有數據,并且各字段一一對應。需要注意的是,新增了path、sheet兩個字段,用于說明并集中的值的來源路徑及表名稱。
數據連接方式
與數據源完成連接后,將數據表拖放至畫布區,就可以在畫布區看到“連接”方式的選擇,分別是“實時”和“數據提取”。 實時:直接從數據源實時查詢獲取數據信息,Tableau不對源數據進行存儲。 數據提取:將數據源的數據保存到本地計算機,大幅縮短Tableau查詢載入源數據的時間。
為什么有兩種連接方式
- 因為很多時候數據源的數據量很大,如果我們選擇實時連接,會嚴重影響計算機的運行效率和性能。因此提供了數據提取的功能,可以只提取小部分數據到本地,開發完畢部署的時候,再選擇實時連接獲取全部最新的數據。
- 使用數據提取會在本地創建一個數據源的副本,然后可以在其他計算機上繼續我們的工作,也可以把打包工作簿分享給那些無法直接訪問數據源的用戶。
數據提取
數據提取是保存的數據子集。%20在創建數據的數據提取時,可以通過使用篩選器和配置其他限制來減少數據總數。%20創建數據提取后,可使用原始數據中的數據對其進行刷新。在刷新數據時,可以選擇進行完全刷新或增量刷新。 完全刷新:默認方式,每次都會重新獲取數據源的數據,創建的本地副本與數據源一致。 增量刷新:僅刷新自上次數據提取后新增的行。
數據提取的優勢
- 支持大型數據集:可以創建包含數十億行數據的數據提取。
- 快速創建:如果使用大型數據集,則創建和使用數據提取可能比使用原始數據更快。
- 幫助提高性能:數據提取會在本地創建數據源的副本,不受服務器性能及網絡的影響,大大提高了運行效率。
- 支持附加功能:數據提取可以利用原始數據不支持的Tableau功能,例如不重復計數計算功能。
- 提供對數據的離線訪問權限:當原始數據不可用時,數據提取允許在本地保存和處理數據。
創建數據提取
選擇數據提取后,會顯示“編輯”和“刷新”按鈕。單擊“編輯”在彈出的“數據提取”對話框中設置數據提取的要求。
指定在數據提取中存儲數據的方式
- 單個表:用于存儲數據提取數據的默認結構,當使用數據提取篩選器、聚合、前 N 個等,可以使用“單個表”存儲數據。
- 多個表:當表之間的所有聯結均為等值 (=) 聯結,聯結關鍵字段的數據類型完全相同,未使用直通函數 (RAWSQL),未配置增量刷新、數據提取篩選器、“前 N 個”或抽樣的情況下,可以使用“多個表”方式存儲數據提取。
PS:“單個表”和“多個表”選項只會影響數據提取中數據的存儲方式,不影響數據提取中的表在“數據源”頁面上的顯示方式。 假設您的數據提取由三個表組成。如果直接打開配置為使用默認選項“單個表”的數據提取 (.hyper) 文件,在“數據源”頁面上只會顯示一個表。但是,如果打開使用打包數據源 (.tdsx) 文件的數據提取或包含其對應數據提取 (.hyper) 文件的數據源 (.tdsx) 文件,在“數據源”頁面上可以看到包含數據提取的全部三個表。
指定要提取的數據量
- 篩選器:添加一個或多個篩選器,基于字段及字段值限制提取的數據量。
- 聚合:選擇“聚合可視維度的數據”以使用度量的默認聚合,對數據進行聚合來合并行,可以最大限度地減少數據提取文件的大小并提高性能。 選擇對數據進行聚合時,也可以選擇按指定的日期級別(例如“年”、“月”等)來“匯總日期”。
- 行數:可以提取所有行或前N行。Tableau首先會應用篩選器和聚合,然后從經過篩選和聚合的結果中提取行數。 并非所有數據源都支持抽樣。因此,在“提取數據”對話框中可能會看不到“抽樣”選項。 數據提取中將不包括最初在“數據源”頁面或工作表標簽頁中隱藏的任何字段。單擊“隱藏所有未使用的字段”按鈕可將這些隱藏字段從數據提取中移除。
設置完成后,單擊工作表標簽頁可啟動數據提取創建過程。在隨后顯示的對話框中,選擇一個用于保存數據提取的位置,為該數據提取文件指定名稱,然后單擊“保存”即可。
在抽樣數據與整個數據提取之間切換
當您使用大型數據提取時,您可能需要創建一個帶數據樣本的數據提取,以便每次將字段放在工作表標簽頁中的功能區上時,您都可以設置視圖,同時避免長時間查詢。然后,可以在使用帶數據樣本的數據提取和使用整個數據源之間進行切換,方法是在“數據”菜單中選擇數據源,然后選擇“使用數據提取”。
實時和數據提取的選擇
什么情況下選擇“實時”
- 源數據的保密性要求較高,處于安全考慮不希望保存到本地時,可以采取實時連接的方式。
- 需要實時更新源數據信息,并且對實時性的要求較高時,可以選擇實時連接的方式。
什么情況下選擇“數據提取”
- 不便于實時連接數據源,如數據是通過本地服務器獲取,但又需要在別的電腦進行分析時,可以通過”數據提取“將所需分析的數據保存到本地電腦。
- 分析的數據量較大,需要提高數據載入效率,降低源數據庫的訪問壓力時,可以通過數據提取將數據轉移到本地計算機。
想要獲取更多新鮮資訊和優質內容,可搜索進入我們的CDA小程序,不要錯過了喲...