Trasformazione Raggruppamento fuzzy
Data aggiornamento: 5 dicembre 2005
La trasformazione Raggruppamento fuzzy esegue attività di pulitura dei dati identificando le righe che con probabilità sono duplicate e selezionando una riga canonica di dati da utilizzare per la standardizzazione dei dati. La trasformazione richiede la connessione a un'istanza di SQL Server 2005 per la creazione delle tabelle temporanee di SQL Server necessarie all'algoritmo di trasformazione. La connessione deve corrispondere a un utente autorizzato che dispone dell'autorizzazione per la creazione di tabelle nel database.
Per configurare la trasformazione, è necessario selezionare le colonne di input da utilizzare per l'identificazione di duplicati e il tipo di corrispondenza, fuzzy o esatta, per ogni colonna. Con una corrispondenza esatta vengono raggruppate solo le righe della colonna contenenti gli stessi valori. Questo tipo di corrispondenza può essere applicato alle colonne con qualsiasi tipo di dati di Integration Services, ad eccezione di DT_TEXT, DT_NTEXT e DT_IMAGE. Con una corrispondenza fuzzy vengono raggruppate le righe contenenti valori simili. Questo tipo di corrispondenza è basato su un punteggio di somiglianza specificato dall'utente. Nella corrispondenza fuzzy è possibile utilizzare solo colonne con tipo di dati DT_WSTR o DT_STR. Per ulteriori informazioni, vedere Tipi di dati di Integration Services.
L'output della trasformazione include tutte le colonne di input, una o più colonne con dati standardizzati e una colonna contenente il punteggio di somiglianza. Il punteggio è un valore decimale compreso tra 0 e 1. Il punteggio della riga canonica è 1. Il punteggio delle altre righe del gruppo fuzzy indica il livello di corrispondenza delle righe con la riga canonica. I punteggi più prossimi a 1 indicano una corrispondenza maggiore. Anche il punteggio delle righe del gruppo fuzzy, che sono righe duplicate della riga canonica, è uguale a 1. La trasformazione non rimuove le righe duplicate, ma le raggruppa tramite la creazione di una chiave che correla la riga canonica alle righe simili.
La trasformazione restituisce una riga di output per ogni riga di input oltre alle colonne aggiuntive seguenti:
- _key_in, colonna che identifica in modo univoco ogni riga.
- _key_out, colonna che identifica un gruppo di righe duplicate. Il valore della colonna _key_out corrisponde al valore della colonna _key_in nella riga di dati canonica. Le righe della colonna _key_out aventi lo stesso valore fanno parte dello stesso gruppo. Il valore di _key_out di un gruppo corrisponde al valore di _key_in nella riga di dati canonica.
- _score, valore compreso tra 0 e 1 che indica la somiglianza della riga di input con la riga canonica.
È possibile configurare la trasformazione Raggruppamento fuzzy specificando nomi di colonna diversi da questi nomi predefiniti. Anche nell'output è indicato un punteggio di somiglianza per ogni colonna di un gruppo fuzzy.
La trasformazione Raggruppamento fuzzy include due funzionalità per la personalizzazione del raggruppamento, ovvero i delimitatori token e la soglia di somiglianza. È inoltre disponibile un set di delimitatori predefiniti utilizzati per suddividere i dati in token. È tuttavia possibile aggiungere nuovi delimitatori per migliorare la suddivisione in token dei propri dati.
La soglia di somiglianza indica in quale misura la trasformazione identifica i duplicati. Le soglie di somiglianza possono essere impostate a livello di componente e di colonna. La soglia di somiglianza a livello di colonna è disponibile solo per le colonne che eseguono una corrispondenza fuzzy. L'intervallo di somiglianza è compreso tra 0 e 1. I valori di somiglianza più prossimi a 1 indicano che righe e colonne devono essere molto simili per essere considerate duplicate. Per impostare la soglia di somiglianza tra righe e colonne, è necessario impostare la proprietà MinSimilarity a livello di componente e di colonna. Per soddisfare la soglia di somiglianza specificata a livello di componente, è necessario che la somiglianza di tutte le righe in tutte le colonne sia maggiore o uguale alla soglia di somiglianza specificata a livello di componente.
La trasformazione Raggruppamento fuzzy calcola misure di somiglianza interne. Le righe il cui valore è meno simile al valore specificato in MinSimilarity non vengono raggruppate.
Per identificare la soglia di somiglianza più appropriata per i dati in uso, potrebbe essere necessario applicare la trasformazione Raggruppamento fuzzy più volte specificando soglie di somiglianza minime diverse. In fase di esecuzione, nelle colonne del punteggio dell'output della trasformazione è riportato il punteggio di somiglianza di ogni riga di un gruppo. In base a questi valori, è possibile stabilire qual è la soglia di somiglianza appropriata per i dati in uso. Se si desidera incrementare la somiglianza, impostare MinSimilarity su un valore maggiore dei valori contenuti nelle colonne del punteggio.
È possibile personalizzare il raggruppamento eseguito dalla trasformazione impostando le proprietà delle colonne nell'input della trasformazione Raggruppamento fuzzy. Ad esempio, la proprietà FuzzyComparisonFlags specifica la modalità di confronto dei dati stringa di una colonna, mentre la proprietà ExactFuzzy specifica se viene eseguita una corrispondenza fuzzy o una corrispondenza esatta.
La quantità di memoria utilizzata dalla trasformazione Raggruppamento fuzzy può essere configurata impostando la proprietà personalizzata MaxMemoryUsage. È possibile specificare il numero di megabyte (MB) oppure il valore 0, che consente alla trasformazione di utilizzare una quantità dinamica di memoria, a seconda delle esigenze e della quantità di memoria fisica disponibile. La proprietà personalizzata MaxMemoryUsage può essere aggiornata da un'espressione di proprietà al caricamento del pacchetto. Per ulteriori informazioni, vedere Guida di riferimento alle espressioni in Integration Services, Utilizzo delle espressioni di proprietà nei pacchetti e Transformation Custom Properties.
Questa trasformazione include un input e un output. Non supporta un output degli errori.
Confronto tra righe
Quando si configura la trasformazione Raggruppamento fuzzy, è possibile specificare l'algoritmo di confronto utilizzato per confrontare le righe dell'input della trasformazione. Se si imposta la proprietà Exhaustive su true, ogni riga dell'input viene confrontata con righe alterne dell'input. Questo algoritmo di confronto restituisce in genere risultati più precisi, ma la trasformazione viene eseguita più lentamente, a meno che l'input non includa un numero di righe ridotto. Per evitare un impatto negativo sulle prestazioni, è consigliabile impostare la proprietà Exhaustive su true solo in fase di sviluppo dei pacchetti.
Tabelle e indici temporanei
In fase di esecuzione, la trasformazione Raggruppamento fuzzy crea oggetti temporanei, quali tabelle e indici, potenzialmente di grandi dimensioni, nel database di SQL Server 2005 a cui la trasformazione si connette. Le dimensioni delle tabelle e degli indici sono proporzionali al numero di righe dell'input della trasformazione Raggruppamento fuzzy e al numero di token creati dalla trasformazione.
La trasformazione esegue inoltre query nelle tabelle temporanee. È pertanto consigliabile connettere la trasformazione Raggruppamento fuzzy a un'istanza di SQL Server non di produzione, soprattutto se lo spazio su disco disponibile nel server di produzione è ridotto.
Le prestazioni della trasformazione possono risultare migliori se le tabelle e gli indici utilizzati si trovano sullo stesso computer locale.
Configurazione della trasformazione Raggruppamento fuzzy
È possibile impostare le proprietà tramite Progettazione SSIS o a livello di programmazione.
Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor trasformazione Raggruppamento fuzzy, fare clic su uno degli argomenti seguenti:
- Editor trasformazione Raggruppamento fuzzy (scheda Gestione connessione)
- Editor trasformazione Raggruppamento fuzzy (scheda Colonne)
- Editor trasformazione Raggruppamento fuzzy (scheda Avanzate)
Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor avanzato o a livello di programmazione, fare clic su uno degli argomenti seguenti:
Per ulteriori informazioni sulle procedure per l'impostazione delle proprietà, fare clic su uno degli argomenti seguenti:
- Procedura: Identificazione delle righe di dati simili tramite la trasformazione Raggruppamento fuzzy
- Procedura: Impostazione delle proprietà di un componente di un flusso di dati utilizzando l'editor del componente
- Procedura: Impostazione delle proprietà di un componente di un flusso di dati nella finestra Proprietà
- Procedura: Impostazione delle proprietà di un componente di un flusso di dati utilizzando l'editor avanzato
Vedere anche
Concetti
Trasformazione Ricerca fuzzy
Trasformazioni di Integration Services
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|