Trasformazione della dimensione a variazione lenta

Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory

La trasformazione Dimensione a modifica lenta consente di coordinare l'aggiornamento e l'inserimento dei record nelle tabelle delle dimensioni dei data warehouse. È ad esempio possibile usare questa trasformazione per configurare gli output che inseriscono e aggiornano i record nella tabella DimProduct del database AdventureWorksDW2025 con i dati della tabella Production.Products del database OLTP AdventureWorks.

Importante

La Configurazione guidata dimensioni a modifica lenta supporta solo le connessioni a SQL Server.

La trasformazione Dimensione a modifica lenta fornisce le funzionalità seguenti per la gestione delle dimensioni a modifica lenta:

  • Confronto tra le righe in ingresso e le righe presenti nella tabella di ricerca per distinguere tra righe nuove e righe esistenti.

  • Identificazione delle righe in ingresso contenenti modifiche quando le modifiche non sono consentite.

  • Identificazione dei record dei membri derivati che richiedono un aggiornamento.

  • Identificazione delle righe in ingresso contenenti modifiche cronologiche che richiedono l'inserimento di nuovi record e l'aggiornamento dei record scaduti.

  • Rilevamento delle righe in ingresso contenenti modifiche che richiedono l'aggiornamento dei record esistenti, compresi quelli scaduti.

La trasformazione Dimensione a modifica lenta supporta quattro tipi di modifiche: Attributo modificabile, Attributo cronologico, Attributo fisso e Membro derivato.

  • La modifica degli attributi sovrascrive i record esistenti. Questo tipo di modifica è equivalente a una modifica di tipo 1. La trasformazione Dimensione a variazione lenta indirizza queste righe a un output denominato Output aggiornamenti attributi variabili.

  • Le modifiche di tipo Attributo cronologico creano nuovi record anziché aggiornare quelli esistenti. L'unica modifica consentita in un record esistente è l'aggiornamento di una colonna che indica se il record è aggiornato o scaduto. Questo tipo di modifica è equivalente a una modifica di tipo 2. La trasformazione della dimensione a variazione lenta indirizza queste righe a due output: Output inserimenti attributi storici e Nuovo output.

  • Le modifiche di tipo Attributo fisso indicano che il valore della colonna non deve essere modificato. La trasformazione Dimensione a modifica lenta rileva le modifiche e può inviare le righe modificate a un output denominato Output attributo fisso.

  • Membro dedotto indica che la riga è un record di membro dedotto nella tabella di dimensione. Un membro derivato esiste quando una tabella dei fatti fa riferimento a un membro della dimensione non ancora caricato. In attesa di dati di dimensione rilevanti, che verranno forniti in un caricamento successivo, viene creato un record membro derivato minimo. La trasformazione Dimensione a variazione lenta indirizza queste righe a un output denominato Aggiornamenti membri dedotti. Dopo il caricamento dei dati relativi al membro derivato, sarà possibile aggiornare il record esistente anziché crearne uno nuovo.

Nota

La trasformazione Dimensione a modifica lenta non supporta modifiche di tipo 3, che richiedono la modifica della tabella delle dimensioni. Identificando le colonne con il tipo di aggiornamento Attributo fisso, è possibile acquisire i valori dei dati che possono subire modifiche di tipo 3.

In fase di esecuzione la trasformazione Dimensione a modifica lenta cerca innanzitutto una corrispondenza tra la riga in ingresso e un record nella tabella di ricerca. Se non viene trovata alcuna corrispondenza, significa che la riga in ingresso è un nuovo record. In questo caso la trasformazione Dimensione a modifica lenta non esegue altre operazioni e invia la riga a Nuovo output.

Se viene trovata una corrispondenza, la trasformazione Dimensione a variazione lenta rileva se la riga contiene modifiche. Se la riga contiene modifiche, la trasformazione Slowly Changing Dimension identifica il tipo di aggiornamento per ogni colonna e indirizza la riga a Output aggiornamenti attributi variabili, Output attributi fissi, Output inserimenti attributi cronologici o Output aggiornamenti membri derivati. Se la riga non è stata modificata, la trasformazione Slowly Changing Dimension indirizza la riga a output invariato.

Output della trasformazione Dimensione a variazione lenta

La trasformazione Dimensione a modifica lenta utilizza un solo input e un massimo di sei output. Un output indirizza una riga al subset del flusso di dati che corrisponde ai requisiti di aggiornamento e inserimento della riga. Questa trasformazione non supporta un output di errore.

Nella tabella seguente vengono descritti gli output della trasformazione e i requisiti dei flussi di dati successivi. I requisiti descrivono il flusso di dati creato dalla Configurazione guidata dimensioni a modifica lenta.

Output Descrizione Requisiti del flusso di dati
La modifica degli attributi aggiorna l'output Il record nella tabella di ricerca è stato aggiornato. Questo output viene utilizzato per le righe con attributi modificabili. Una trasformazione Comando OLE DB aggiorna il record usando un'istruzione UPDATE .
Output di attributo fisso Per i valori nelle righe che non devono essere modificate non esiste alcuna corrispondenza con i valori nella tabella di ricerca. Questo output viene utilizzato per le righe con attributi fissi. Non viene creato alcun flusso di dati predefinito. Se la trasformazione è configurata in modo da continuare anche in caso di rilevamento di modifiche alle colonne con attributi fissi, sarà necessario creare un flusso di dati che acquisisca tali righe.
Output degli inserimenti degli attributi storici La tabella di ricerca contiene almeno una riga corrispondente. La riga contrassegnata come "attuale" deve ora essere contrassegnata come "scaduta". Questo output viene utilizzato per le righe con attributi cronologici. Le trasformazioni di colonna derivata creano colonne per gli indicatori della riga scaduta e della riga corrente. Una trasformazione del comando OLE DB aggiorna il record che ora deve essere contrassegnato come "scaduto". La riga con i nuovi valori della colonna viene indirizzata all'output Nuovo, dove viene inserita e contrassegnata come "corrente".
Output degli aggiornamenti del membro dedotto Vengono inserite righe per i membri di dimensione dedotti. Questo output viene utilizzato per le righe relative ai membri dedotti. Una trasformazione Comando OLE DB aggiorna il record usando un'istruzione SQL UPDATE .
Nuova uscita La tabella di ricerca non contiene righe corrispondenti. La riga viene aggiunta alla tabella delle dimensioni. Questo output viene utilizzato per le nuove righe e per le modifiche alle righe con attributi cronologici. Una trasformazione Colonna derivata imposta l'indicatore di riga corrente e una destinazione OLE DB inserisce la riga.
Output non modificato I valori nella tabella di ricerca corrispondono a quelli della riga. Questo output viene utilizzato per le righe non modificate. Non viene creato alcun flusso di dati predefinito perché la trasformazione Dimensione a modifica lenta non esegue alcuna elaborazione. Se si desidera acquisire queste righe, sarà necessario creare un flusso di dati per questo output.

Chiavi aziendali

La trasformazione a dimensione a variazione lenta richiede almeno una colonna di chiave aziendale.

La trasformazione Slowly Changing Dimension non supporta le chiavi aziendali null. Se i dati includono righe in cui la colonna chiave business è Null, tali righe dovranno essere rimosse dal flusso di dati. Per filtrare le righe con colonne chiave business contenenti valori Null, è possibile utilizzare la trasformazione Suddivisione condizionale. Per ulteriori informazioni, vedere Trasformazione suddivisione condizionale.

Ottimizzazione delle prestazioni della trasformazione di dimensioni a modifica lenta

Per suggerimenti su come migliorare le prestazioni della trasformazione Dimensione a variazione lenta, vedere Funzionalità relative alle prestazioni del flusso di dati.

Risoluzione dei problemi della trasformazione della dimensione a modifica lenta

È possibile registrare le chiamate che la trasformazione Dimensioni a modifica lenta effettua verso provider di dati esterni. È possibile utilizzare questa funzionalità di registrazione per individuare e risolvere i problemi relativi alle connessioni, ai comandi e alle query verso origini dati esterne eseguiti dalla trasformazione Dimensioni a modifica lenta. Per registrare le chiamate eseguite dalla trasformazione Dimensione a modifica lenta ai provider di dati esterni, attivare la registrazione del pacchetto e selezionare l'evento Diagnostic a livello del pacchetto. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione del pacchetto.

Configurazione della trasformazione della dimensione a variazione lenta

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di codice.

Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor avanzato o a livello di codice, fare clic su uno degli argomenti seguenti:

Per altre informazioni su come impostare le proprietà, vedere Impostazione delle proprietà di un componente del flusso di dati.

Configurazione degli output della trasformazione della Dimensione a modifica lenta

Il coordinamento dell'aggiornamento e dell'inserimento dei record nelle tabelle delle dimensioni può risultare complesso, soprattutto se vengono utilizzate sia modifiche di tipo 1 che di tipo 2. SSIS Designer fornisce due modi per configurare il supporto per le dimensioni a variazione lenta:

  • La finestra di dialogo Editor avanzato, in cui è possibile selezionare una connessione, impostare proprietà di componenti comuni e personalizzate, scegliere le colonne di input e impostare le proprietà delle colonne nelle sei uscite. Per completare la configurazione del supporto di una dimensione a modifica lenta, è necessario creare manualmente il flusso di dati per gli output utilizzati dalla trasformazione Dimensione a modifica lenta. Per altre informazioni, vedere Flusso di dati.

  • Creazione guidata caricamento dimensione, che guida l'utente attraverso i passaggi necessari per configurare la trasformazione Dimensione a modifica lenta e creare il flusso di dati per gli output della trasformazione. Per modificare la configurazione delle dimensioni a modifica lenta, eseguire nuovamente il Caricamento guidato dimensione. Per ulteriori informazioni, vedere Configurare gli output utilizzando la Configurazione guidata Dimensioni a modifica lenta.

Impostazione delle proprietà di un componente del flusso di dati