Vai al contenuto principale
Riferimenti circolari

IN QUESTA PAGINA

Riferimenti circolari

Se in una struttura di dati sono presenti riferimenti circolari (loop o cicli), le tabelle vengono associate in modo che esistano più percorsi di associazioni tra due campi.

Procedere come indicato di seguito:

  1. Aprire l'editor caricamento dati nell'app Scripting Tutorial.
  2. Fare clic su P per aggiungere una nuova sezione dello script.
  3. Denominare la sezione Region.
  4. Nel menu a destra, in DataFiles, fare clic su Seleziona dati.

  5. Caricare e selezionare Region.txt. Verrà aperta una finestra di anteprima dei dati.
  6. Selezionare tutti i campi e assicurarsi che la voce Nomi di campo incorporati in Nomi di campo sia selezionata, per includere i nomi dei campi della tabella quando vengono caricati i dati.
  7. Fare clic su Inserisci script.
  8. Fare clic su Carica dati.
  9. Questa volta si sono verificati problemi con il caricamento dei dati. È stato creato un riferimento circolare. Nella finestra Avanzamento caricamento dati verrà visualizzato un messaggio di errore che informa che durante il caricamento è stato individuato un riferimento circolare. Il caricamento verrà comunque completato e l'app verrà salvata.

  10. Aprire il sistema di visualizzazione modello dati.
  11. È possibile trascinare le tabelle per riorganizzarle in modo che le connessioni tra le tabelle siano facilmente visibili.

    Sistema di visualizzazione modello dati che mostra un riferimento circolare
    Data model viewer showing circular reference.

    Le linee rosse tratteggiate indicano che è stato creato un riferimento circolare. Si tratta di una condizione da evitare, in quanto può causare ambiguità nell'interpretazione dei dati.

Risoluzione dei riferimenti circolari

Per comprendere i motivi per cui sono stati generati i riferimenti circolari, è utile osservare attentamente le tabelle nel sistema di visualizzazione modello dati.

Se si guardano Table1 e Table2 nella schermata riportata, è possibile notare che il campo Date è comune. È anche possibile vedere che Table1 e Region hanno in comune il campo SalesKey. Infine, notare che Table2 e Region hanno in comune il campo Week. Ciò significa che è stato creato un loop (ciclo) o riferimento circolare. Poiché questo può successivamente causare problemi nell'analisi dei dati, è preferibile rimuoverlo.

Il modo più semplice per risolvere questo problema è rinominare o rimuovere uno dei campi. In questo caso, sono stati caricati alcuni dati che non servono per l'app e che, quindi, possono essere rimossi.

Procedere come indicato di seguito:

  1. Aprire l'Editor caricamento dati.
  2. Fare clic sulla sezione Region ed eliminare le due righe seguenti nell'istruzione LOAD:
  3. "Week",

    SalesKey

  4. Assicurarsi di rimuovere anche la virgola dopo "Region Code".
  5. Lo script sarà simile al seguente:

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

  6. Fare clic su Carica dati.
  7. Aprire il sistema di visualizzazione modello dati.
  8. I riferimenti non desiderati a Region sono stati rimossi.

    Sistema di visualizzazione modello dati in cui è stato rimosso il riferimento circolare
    Data model viewer showing that circular reference has been removed.