Przeskocz do zawartości głównej

Odwołania cykliczne

NA TEJ STRONIE

Odwołania cykliczne

Gdy struktura danych zawiera odwołania cykliczne (pętle), tabele są skojarzone w taki sposób, że istnieje więcej niż jedna ścieżka powiązania dwóch pól.

Wykonaj następujące czynności:

  1. Otwórz Edytor ładowania danych w aplikacji Scripting Tutorial.
  2. Kliknij pozycję P, aby dodać nową sekcję skryptu.
  3. Sekcji nadaj nazwę Region.
  4. W sekcji DataFiles dostępnej po prawej stronie kliknij przycisk Wybierz dane.

  5. Prześlij, a następnie wybierz Region.txt. Zostanie otwarte okno podglądu danych.
  6. Wybierz wszystkie pola i upewnij się, że w obszarze Nazwy pól zaznaczona jest opcja Osadzone nazwy pól, aby podczas ładowania danych uwzględniać również nazwy pól tabeli.
  7. Kliknij polecenie Wstaw skrypt.
  8. Kliknij polecenie Ładuj dane.
  9. Tym razem wygląda na to, że wystąpił problem z ładowaniem danych. Powstało odwołanie cykliczne. W oknie Postęp ładowania danych zostanie wyświetlony komunikat o błędzie z informacją, że podczas ładowania znaleziono odwołanie cykliczne. Pomimo to ładowanie zostanie dokończone, a aplikacja zapisana.

  10. Otwórz Przeglądarkę modelu danych.
  11. Tabele możesz przeciągnąć w inne miejsca, aby wyraźniej zobaczyć połączenia między nimi.

    Przeglądarka modelu danych przedstawiająca odwołanie cykliczne
    Data model viewer showing circular reference.

    Czerwone linie przerywane wskazują, że powstało odwołanie cykliczne. Należy unikać takich odwołań, ponieważ mogą powodować niejednoznaczne interpretowanie danych.

Naprawianie odwołań cyklicznych

Aby zrozumieć przyczyny powstania odwołań cyklicznych, przyjrzyjmy się bliżej tabelom w przeglądarce modelu danych.

Na Table1 i Table2 na powyższym zrzucie ekranu widać, że wspólnym polem jest Date. Natomiast wspólnym polem dla Table1 i Region jest SalesKey. A w przypadku Table2 i Region wspólnym polem jest Week. Oznacza to, że powstała pętla, czyli odwołanie cykliczne. Usuniemy te odwołania, aby w przyszłości nie powodowały problemów z analizą danych.

Najłatwiej rozwiązać problem, zmieniając nazwę jednego z pól lub usuwając je. W tym przykładzie część załadowanych danych nie będzie potrzebna w tworzonej aplikacji, można je zatem usunąć.

Wykonaj następujące czynności:

  1. Otwórz edytor ładowania danych.
  2. Kliknij sekcję Region i usuń następujące dwa wiersze z instrukcji LOAD:
  3. "Week",

    SalesKey

  4. Koniecznie usuń również przecinek (,) po tekście "Region Code".
  5. Skrypt powinien teraz wyglądać następująco:

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

  6. Kliknij polecenie Ładuj dane.
  7. Otwórz Przeglądarkę modelu danych.
  8. Niepożądane odwołania do Region zostały usunięte.

    W przeglądarce modelu danych widać, że odwołanie cykliczne zostało usunięte
    Data model viewer showing that circular reference has been removed.