瞭解和解決循環參照
如果資料結構中存在循環參照 (「迴圈」),這表示表格的關聯方式會讓兩個欄位之間有不只一個的關聯路徑。
應盡可能避免此類型的資料結構,因為可能會導致資料解譯上的語意模糊。
Qlik Sense 解決循環參照問題的方法是以鬆耦合表格來斷開迴圈。當 Qlik Sense 執行載入指令碼時,若發現循環資料結構,就會顯示警告對話方塊,並將一或多個表格設為鬆耦合。Qlik Sense 一般會嘗試鬆開迴圈中最長的表格,因為這通常是交易表格,一般為應該鬆開的表格。在資料模型檢視器中,鬆耦合表格會以連到其他表格的紅色點狀連結來表示。
範例:
資料從包含下列項目的三個表格載入:
- 幾支足球國家代表隊的隊名
- 幾個城市中的足球俱樂部
- 幾個歐洲國家的城市
這個資料結構並不太完善,因為欄位名稱 Team 用於兩個不同的用途:國家代表隊和地方俱樂部。表格中的資料會造成不合理的邏輯情況。
將表格載入到 Qlik Sense 時,Qlik Sense 會決定哪些資料連線最不重要,並且將此表格鬆綁。
開啟資料模型檢視器以查看 Qlik Sense 如何解譯資料連線的關聯:
城市和其所屬國家的表格現在鬆耦合於不同國家代表隊的表格,並鬆耦合於不同城市之地方俱樂部的表格。
解決循環參照
循環參照發生時,您需要對於相同名稱的欄位指派一個唯一的名稱,以編輯資料載入指令碼。
請執行下列動作:
- 開啟資料載入編輯器。
-
對於其中一個重複的欄位名稱,編輯 LOAD 陳述式。
在此範例中,記錄地方俱樂部和所在城市之表格的 LOAD 陳述式會包含 Team 的新名稱,例如 LocalClub。更新的 LOAD 陳述式如下:
LOAD City, Team as LocalClub
- 按一下工具列中的 ,重新載入應用程式中的資料。
邏輯現在適用於所有的表格。在此範例中,選取 Germany 時,國家代表隊、德國的城市和各個城市中的地方俱樂部將相互產生關聯:
您開啟資料模型檢視器時,會看見鬆耦合連線已經取代成一般連線: