기본 콘텐츠로 건너뛰기
순환 참조

이 페이지에서

순환 참조

데이터 구조에 순환 참조(루프)가 있는 경우 두 필드 간 연결 경로가 둘 이상인 것처럼 테이블이 연결됩니다.

다음과 같이 하십시오.

  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. "Week",

    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.