跳到主要內容
循環參照

在此頁面

循環參照

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

請執行下列動作:

  1. Scripting Tutorial 應用程式中開啟資料載入編輯器
  2. 按一下 P 以新增指令碼區段。
  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.