Sviluppo della trasformazione dei dati

Completato

Gestione dati è una funzionalità importante che facilita l'importazione o l'esportazione asincrona dei dati da/verso altri sistemi. L'elemento Entità di dati nella Struttura a oggetti applicativi (AOT) esegue le operazioni di trasferimento dei dati. Nell'ambito del processo di esportazione o importazione è necessario eseguire una trasformazione intermedia dei dati per prepararli per l'applicazione di destinazione. È possibile trasformare i dati tramite configurazione. Inoltre, sono disponibili opzioni di supporto allo sviluppo di codice per eseguire trasformazioni complesse.

Trasformazione tramite configurazione

Le app per la finanza e le operazioni prevedono il concetto di tabella di staging tra le tabelle di origine e di destinazione. Dall'origine, i dati vengono inseriti o aggiornati nella tabella di staging e quindi trasferiti alla destinazione. È possibile trasformare i dati prima che vengano inseriti nella tabella di staging. La trasformazione dei dati è possibile anche durante il trasferimento dei dati alla destinazione dallo staging.

Trasformazione dei dati tra l'origine dati esterna e la tabella di staging

Quando si crea un nuovo progetto di esportazione o importazione in Gestione dati, nella riga del progetto appare un'icona nella colonna Visualizza mapping. Quando si seleziona questa icona, viene visualizzato il mapping tra la tabella di staging e l'origine dati esterna, come mostrato nello screenshot seguente. La scheda Dettagli mapping, accanto alla scheda Visualizzazione mapping, fornisce i dettagli della corrispondenza dei campi da origine a destinazione e un'opzione per la trasformazione di base dei dati.

Screenshot della scheda Visualizzazione mapping con le entità Destinazione ed Entità (origine).

Le funzionalità disponibili dalla pagina Dettagli mapping includono:

  • Ignora valori vuoti: in presenza del requisito di ignorare un record se un valore di campo specifico è vuoto, è necessario usare questa funzionalità.

  • Qualificatore testo: sono presenti requisiti, ad esempio il file di trasferimento dati deve contenere una colonna di tipo stringa e il valore di tale colonna potrebbe contenere una virgola, che è anche il delimitatore di colonna. Ad esempio, i nomi dell'organizzazione includono virgole e anche il valore usato come delimitatore di colonna è una virgola. È possibile usare un qualificatore di testo per risolvere questo conflitto: verranno aggiunte virgolette per identificare la colonna di testo.

  • Usa etichetta di enumerazione: è una casella di controllo che è possibile selezionare per usare l'etichetta di enumerazione nel file di trasferimento dati.

  • Generata automaticamente: alcuni campi in un'entità potrebbero richiedere l'aggiornamento dei dati generati dal sistema durante l'importazione invece della fornitura dei dati nel file di importazione di origine. In tale scenario, è possibile usare la funzionalità di generazione automatica nei dettagli di mapping di questa entità. Ad esempio, l'entità Clienti può generare automaticamente il numero parte e creare le informazioni della rubrica globale durante l'importazione. Quando si seleziona la casella di controllo Generata automaticamente per un campo, il campo di origine cambia in Auto.

  • Valore predefinito automatico: alcuni campi in un'entità potrebbero richiedere l'aggiornamento dei dati predefiniti durante l'importazione invece della fornitura dei dati nel file di importazione di origine. In tale scenario, è possibile selezionare la casella di controllo Valore predefinito automatico nei dettagli di mapping di questa entità. Quando si seleziona la casella di controllo Valore predefinito automatico, il pulsante Valore predefinito viene abilitato nella pagina Mappa origine a gestione temporanea, in cui immettere il valore predefinito.

  • Conversione: alcuni campi in un'entità potrebbero richiedere l'aggiornamento di valori specifici durante l'importazione in base al valore fornito nel file di importazione di origine. Ad esempio, nell'applicazione di origine il valore di un determinato campo è false o true. Durante l'importazione in Dynamics 365, il valore deve essere importato come No o . Il pulsante Conversione nel modulo Mappa origine a gestione temporanea consente di immettere informazioni di corrispondenza da valore a valore che aggiorneranno i campi interessati durante l'operazione di importazione.

Trasformazione dei dati tra le app per la finanza e le operazioni e la tabella di staging

È possibile accedere a un'entità di dati dal riquadro Entità di dati dell'area di lavoro Gestione dati. Per aggiungere la logica di trasformazione dei dati, selezionare il pulsante Modifica mapping di destinazione nella barra dei comandi dell'entità di dati selezionata. Viene visualizzata la pagina Dettagli mapping.

Screenshot della pagina Mappa gestione temporanea a destinazione con la scheda Dettagli mapping.

Nell'entità di dati sono disponibili opzioni per creare campi virtuali e colonne calcolate. Questi campi appariranno nel campo Gestione temporanea che è possibile mappare ai campi Destinazione nelle app per la finanza e le operazioni. È possibile sviluppare la logica di trasformazione dei dati in campi virtuali o colonne calcolate scrivendo codice X++.

Colonne calcolate

Quando si sviluppa la logica di trasformazione dei dati nelle colonne calcolate, considerare i seguenti fattori:

  • Il valore viene generato da una colonna calcolata di una vista SQL.
  • Durante la lettura, i dati vengono calcolati da SQL e recuperati direttamente dalla vista.
  • Per le operazioni di scrittura, il codice X++ personalizzato deve analizzare il valore di input e quindi scrivere i valori analizzati nei campi normali dell'entità di dati. I valori vengono archiviati nei campi normali delle origini dati dell'entità.
  • I campi calcolati vengono usati principalmente per le operazioni di lettura.
  • Se possibile, usare le colonne calcolate invece dei campi virtuali perché le prime vengono calcolate a livello di SQL Server, mentre i secondi vengono calcolati riga per riga in X++.

Campi virtuali

Quando si sviluppa la logica di trasformazione dei dati nei campi virtuali, considerare i seguenti fattori:

  • I campi virtuali non sono persistenti.
  • I campi virtuali sono controllati da codice X++ personalizzato.
  • Lettura e scrittura avvengono tramite codice X++ personalizzato.
  • I campi virtuali si usano in genere per valori di input che vengono calcolati usando codice X++ e non possono essere sostituiti da colonne calcolate.