跳到主要內容

循環參照

在此頁面

循環參照

如果資料結構中存在循環參照 (迴圈),這表示表格的關聯方式會讓兩個欄位之間有不只一個的關聯路徑。

  1. Scripting Tutorial 應用程式中開啟資料載入編輯器
  2. 按一下 Create new以新增指令碼區段。
  3. 命名區段 Region
  4. 在右側功能表的 DataFiles 之下,按一下選取資料

  5. 上傳然後選取 Region.txt。系統將開啟資料預覽視窗。
  6. 選取所有欄位,確保選取了欄位名稱下的內嵌欄位名稱,在載入資料時包含表格欄位的名稱。
  7. 按一下插入指令碼
  8. 按一下載入資料
  9. 這種情況可能是您的資料載入出現錯誤。循環參照已建立。資料載入進度視窗將顯示錯誤訊息,表明在載入過程中找到循環參照。然而,載入完成且應用程式已儲存。

  10. 開啟資料模型檢視器
  11. 您可拖放表格進行重新組織,以便查看表格之間的關聯。

    顯示循環參照的資料模型檢視器
    Data model viewer showing circular reference.

    紅色虛線表示已建立循環參照。由於這會導致資料解譯產生語意模糊,因此您應避免這種情況。

解決循環參照

為了能夠瞭解導致循環參照的原因,讓我們仔細看下資料模型檢視器中的表格。

在上述螢幕擷取畫面的 Table1Table2 中,您可看到兩個表格有相同的 Date 欄位。您還會看到 Table1Region 有相同的 SalesKey 欄位。最後,請主意,Table2Region 有相同的欄位 Week。換言之,迴圈 (即循環參照) 已建立。由於這可導致稍後的資料分析出現問題,因此應該移除。

最簡單的解決方法是重新命名或移除其中一個欄位。在此情況中,我們載入我們應用程式不需要的部分資料,我們可以將其移除。

  1. 開啟資料載入編輯器
  2. 按一下區段 Region,然後刪除 LOAD 陳述式中的以下兩列:
  3. "週",

    SalesKey

  4. 確保同時移除 "Region Code" 後的逗號。
  5. 您的指令碼現在應如下所示:

    LOAD Region, "Region Code" FROM [lib://DataFiles/Region.txt] (txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

  6. 按一下載入資料
  7. 開啟資料模型檢視器
  8. 不想要的 Region 參照現已移除。

    顯示循環參照已移除的資料模型檢視器
    Data model viewer showing that circular reference has been removed.