串連 | Qlik Cloud 說明
跳到主要內容 跳至補充內容

串連

上次更新:2026/9/30

串連是將兩個表格結合成一個表格的操作。

兩個表格透過一個堆疊在另一個之上的方法進行相加,每個名稱不同的資料行均佔一個資料行。資料沒有變更,產生的表格包含等於兩個原始表格相加的記錄數量。可循序執行數個串連操作,以便產生的表格可串連兩個以上的表格。

自動串連

如果兩個或多個已載入資料表的 欄位名稱與欄位數量完全相同,應用程式將會自動將不同陳述式的內容串連成一個資料表。

欄位的數目和名稱必須完全相同,以便能夠自動串連。兩個 LOAD 陳述式的順序可任意排序,但表格名稱為第一次載入時的名稱。

  1. 在 Scripting Tutorial 應用程式中開啟資料載入編輯器。
  2. 按一下 Date 標籤。
  3. 按一下載入資料。
  4. 根據您目前為止撰寫的 載入指令碼,應用程式會從 Dates.xlsx 資料檔案將 628 行載入至 Table2。

    資料載入進度視窗

    資料載入進度視窗
  5. 在區段 Dates 的指令碼中的新行,複製並貼上 LOAD 的 Table2 陳述式。這將會造成資料載入兩次。命名第二個表格 Table2a。
  6. 您也可以刪除現有的指令碼,並複製和貼上下列內容:

    Table2:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    					(ooxml, embedded labels, table is Dates);
    
    					Table2a:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);

    您的指令碼應如下所示:

    Dates 索引標籤中的載入指令碼

    日期索引標籤中的載入指令碼。
  7. 按一下載入資料。
  8. 應用程式不會載入 Table2,然後載入 Table2a。而是會辨識 Table2a 的欄位名稱和欄位數目與 Table2 相同。接著會將 Table2a 的資料新增至 Table2,然後刪除表格 Table2a。結果是 Table2 現在有 1,256 行。

    資料載入進度視窗中的串連

    資料載入進度視窗中的串連。
  9. 開啟資料模型檢視器。
  10. 按一下顯示預覽。
  11. 只建立了 Table2。選取 Table2。表格有 1256 列。

    顯示 的資料模型檢視器Table2

    顯示 Table2 的資料模型檢視器。

強制串連

即使兩個或多個資料表沒有完全相同的欄位集合,仍然可以強制應用程式串連這兩個資料表。這是在指令碼中使用 Concatenate 前置詞來達成,如此會串連一個表格與另一個具名的表格,或是最近建立的表格。

  1. 編輯 LOAD 的 Table2a 陳述式,新增 Concatenate 和註解 Week。
  2. 您的指令碼現在應如下所示:

    Table2a:
    					Concatenate LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					// "Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);

    透過註解 Week,我們可確保表格不會完全相同。

  3. 按一下載入資料。
  4. 開啟資料模型檢視器。
  5. 您現在可以看到沒有建立 Table2a。

  6. 按一下資料模型檢視器中的 Table2,然後按一下預覽。
  7. 表格有欄位 Date、Month、Quarter、Week 和 Year。欄位 Week 仍然顯示,原因是該欄位是從 Table2 載入。

  8. 按一下 Week 中的 Table2。預覽顯示欄位的非 Null 值數目為 628。不過,若您按一下任何其他欄位,您會看見非 Null 值的數目為 1256。Week 僅從 Table2 載入一次。值或記錄的數目是 Table2 和 Table2a 中的記錄數目加總。

防止串連

如果兩個或多個已載入資料表的欄位名稱和欄位數量完全相同,應用程式會自動將不同陳述式的內容串連成一個資料表。這可透過 NoConcatenate 陳述式避免。以相關聯的 LOAD 或 SELECT 陳述式載入的表格就不會與現有的表格串連。

  1. 若要能夠完全分開兩個資料表的內容,請將 NoConcatenate 新增至 Table2a 中的 LOAD 陳述式,並重新命名欄位,使應用程式不會根據相符欄位建立合成鍵。取消註解 Week 中的 Table2,讓兩個表格具有相同欄位。
  2. 您的指令碼現在應如下所示:

    Table2:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    					(ooxml, embedded labels, table is Dates);
    
    					Table2a:
    					NoConcatenate LOAD
    					"Date" as "Date2",
    					Month (Date) as "Month2",
    					Quarter as "Quarter2",
    					"Week" as "Week2",
    					"Year" as "Year2"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);			

  3. 按一下載入資料。
  4. 開啟資料模型檢視器。
  5. 您現可看見完全區分了兩個表格。

    顯示 Table2 和 Table 2a 的資料模型檢視器

    顯示 Table2 和 Table 2a 的資料模型檢視器。
  6. 由於已完成示範串連,我們將不再需要 Table2a。刪除 LOAD 的 Table2a 陳述式中的所有列,然後按一下載入資料。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們!