UnPivot - trasformazioneUnpivot Transformation

La trasformazione tramite UnPivot consente di trasformare un set di dati non normalizzato in una versione più normalizzata, espandendo valori di più colonne contenuti in un singolo record in più record con gli stessi valori in un'unica colonna.The Unpivot transformation makes an unnormalized dataset into a more normalized version by expanding values from multiple columns in a single record into multiple records with the same values in a single column. Si consideri ad esempio un set di dati che elenca i nomi dei clienti e include una riga per ogni cliente, ognuna contenente colonne in cui sono indicati i prodotti e le quantità acquistati.For example, a dataset that lists customer names has one row for each customer, with the products and the quantity purchased shown in columns in the row. Dopo la normalizzazione del set di dati tramite la trasformazione UnPivot, il set di dati conterrà una riga per ogni prodotto acquistato dal cliente.After the Unpivot transformation normalizes the data set, the data set contains a different row for each product that the customer purchased.

Nella figura seguente viene illustrato un set di dati prima della trasformazione tramite UnPivot in base alla colonna Product.The following diagram shows a data set before the data is unpivoted on the Product column.

Set di dati dopo la trasformazione tramite UNPIVOTDataset after it is unpivoted

Nella figura seguente viene illustrato un set di dati dopo la trasformazione tramite UnPivot in base alla colonna Product.The following diagram shows a data set after it has been unpivoted on the Product column.

Set di dati prima che venga trasformata tramite UNPIVOTDataset before it is unpivoted

In alcuni casi, i risultati della trasformazione tramite UnPivot possono contenere righe con valori imprevisti.Under some circumstances, the unpivot results may contain rows with unexpected values. Se i dati di esempio da trasformare tramite UnPivot illustrati nel diagramma contenessero valori Null in tutte le colonne Qty per Fred, l'output conterrebbe solo una riga per Fred e non cinque.For example, if the sample data to unpivot shown in the diagram had null values in all the Qty columns for Fred, then the output would include only one row for Fred, not five. La colonna Qty conterrebbe valori Null oppure zero, in base al tipo di dati della colonna.The Qty column would contain either null or zero, depending on the column data type.

Configurazione della trasformazione UnPivotConfiguration of the Unpivot Transformation

La trasformazione UnPivot include la proprietà personalizzata PivotKeyValue ,The Unpivot transformation includes the PivotKeyValue custom property. che può essere aggiornata da un'espressione di proprietà al caricamento del pacchetto.This property can be updated by a property expression when the package is loaded. Per altre informazioni, vedere Espressioni di Integration Services (SSIS), Utilizzo delle espressioni di proprietà nei pacchetti e Proprietà personalizzate delle trasformazioni.For more information, see Integration Services (SSIS) Expressions, Use Property Expressions in Packages, and Transformation Custom Properties.

Questa trasformazione include un input e un output.This transformation has one input and one output. Non include alcun output degli errori.It has no error output.

È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

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:For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

Editor trasformazione UnPivotUnpivot Transformation Editor

Utilizzare la finestra di dialogo Editor trasformazione UnPivot per selezionare le colonne da trasformare in righe tramite Pivot e specificare la colonna di dati e la nuova colonna di output per il valore pivot.Use the Unpivot Transformation Editor dialog box to select the columns to pivot into rows, and to specify the data column and the new pivot value output column.

Nota

Per illustrare l'uso delle opzioni, questo argomento si basa sullo scenario UnPivot descritto in Unpivot Transformation .This topic relies on the Unpivot scenario described in Unpivot Transformation to illustrate the use of the options.

OpzioniOptions

Colonne di input disponibiliAvailable Input Columns
Consente di specificare le colonne da trasformare in righe tramite Pivot utilizzando le caselle di controllo.Using the check boxes, specify the columns to pivot into rows.

NomeName
Consente di visualizzare il nome della colonna di input disponibile.View the name of the available input column.

Pass-throughPass Through
Indica se includere la colonna nell'output trasformato tramite UnPivot.Indicate whether to include the column in the unpivoted output.

Colonna di inputInput Column
Consente di selezionare una colonna di input nell'elenco delle colonne di input disponibili per ogni riga.Select from the list of available input columns for each row. Le selezioni effettuate vengono riflesse nelle selezioni delle caselle di controllo nella tabella Colonne di input disponibili .Your selections are reflected in the check box selections in the Available Input Columns table.

Nello scenario UnPivot descritto in Unpivot Transformation, le colonne di input sono le colonne Ham, Soda, Milk, Beere Chips .In the Unpivot scenario described in Unpivot Transformation, the Input Columns are the Ham, Soda, Milk, Beer, and Chips columns.

Colonna di destinazioneDestination Column
Consente di specificare un nome per la colonna di dati.Provide a name for the data column.

Nello scenario UnPivot descritto in Unpivot Transformation, la colonna di destinazione è la colonna delle quantità, ovveroQty.In the Unpivot scenario described in Unpivot Transformation, the Destination Column is the quantity (Qty) column.

Valore chiave pivotPivot Key Value
Consente di specificare un nome per il valore pivot.Provide a name for the pivot value. Per impostazione predefinita viene suggerito il nome della colonna di input. È comunque possibile scegliere qualsiasi nome descrittivo univoco.The default is the name of the input column; however, you can choose any unique, descriptive name.

È possibile specificare il valore di questa proprietà tramite un'espressione di proprietà.The value of this property can be specified by using a property expression.

Nello scenario UnPivot descritto in Unpivot Transformation, i valori pivot verranno visualizzati nella nuova colonna Product designata dall'opzione Nome colonna valore chiave pivot allo stesso modo dei valori di testo Ham, Soda, Milk, Beere Chips.In the Unpivot scenario described in Unpivot Transformation, the Pivot Values will appear in the new Product column designated by the Pivot Key Value Column Name option, as the text values Ham, Soda, Milk, Beer, and Chips.

Nome colonna valore chiave pivotPivot Key Value Column Name
Consente di specificare il nome per la colonna del valore pivot.Provide a name for the pivot value column. L'impostazione predefinita è "Valore chiave pivot". È comunque possibile scegliere un nome descrittivo univoco.The default is "Pivot Key Value"; however, you can choose any unique, descriptive name.

Nello scenario UnPivot descritto in Unpivot Transformation, il Nome colonna valore chiave pivot è Product e designa la nuova colonna Product come la colonna in cui viene applicata la trasformazione tramite UnPivot alle colonne Ham, Soda, Milk, Beere Chips .In the Unpivot scenario described in Unpivot Transformation, the Pivot Key Value Column Name is Product and designates the new Product column into which the Ham, Soda, Milk, Beer, and Chips columns are unpivoted.

Vedere ancheSee Also

Errori di Integration Services e riferimento ai messaggi Integration Services Error and Message Reference
Trasformazione PivotPivot Transformation