Condividi tramite


Trasformazione tramite Pivot nel flusso di dati per mapping

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

I flussi di dati sono disponibili sia in Azure Data Factory che in Azure Synapse Pipelines. Questo articolo si applica ai flussi di dati di mapping. Se non si ha esperienza con le trasformazioni, vedere l'articolo introduttivo Trasformare i dati usando un flusso di dati di mapping.

Usare la trasformazione tramite Pivot per creare più colonne dai valori di riga univoci di una singola colonna. La trasformazione tramite Pivot si basa sull'aggregazione e consente di selezionare il raggruppamento per colonne per generare colonne pivot usando le funzioni di aggregazione.

Configurazione

La trasformazione tramite Pivot richiede tre diversi input: le colonne per il raggruppamento, la chiave pivot e la modalità di generazione per le colonne trasformate tramite Pivot.

Raggruppa per

Group by options

Selezionare le colonne da aggregare per la trasformazione tramite Pivot. I dati di output raggruppano tutte le righe con gli stessi valori Group by in un'unica riga. L'aggregazione eseguita nella colonna trasformata tramite Pivot viene eseguita in ogni gruppo.

Questa sezione è facoltativa. Se non sono selezionate colonne Group by, viene aggregato l'intero flusso dei dati e viene restituita una sola riga.

Chiave pivot

Pivot key

La chiave pivot corrisponde alla colonna i cui valori di riga vengono trasformati tramite Pivot in nuove colonne. Per impostazione predefinita, la trasformazione tramite Pivot crea una nuova colonna per ogni valore di riga univoco.

Nella sezione Valore è possibile immettere valori di riga specifici da trasformare tramite Pivot. Vengono trasformati tramite Pivot solo i valori di riga immessi in questa sezione. L'abilitazione del valore Null crea una colonna trasformata tramite Pivot per i valori Null della colonna.

Colonne trasformate tramite Pivot

Pivoted columns

Per ogni valore di chiave pivot univoco che viene trasformato in una colonna, viene generato un valore di riga aggregato per ogni gruppo. È possibile creare più colonne per ogni chiave pivot. Ogni colonna pivot deve contenere almeno una funzione di aggregazione.

Modello nome colonna: selezionare come formattare il nome della colonna di ogni colonna pivot. Il nome della colonna restituita sarà una combinazione del valore della chiave pivot, del prefisso della colonna e del prefisso facoltativo, del suffisso, dei caratteri intermedi.

Disposizione colonne: se si generano più colonne pivot per ogni chiave pivot, scegliere la modalità di ordinamento delle colonne.

Prefisso colonna: se si generano più colonne pivot per ogni chiave pivot, immettere un prefisso di colonna per ogni colonna. Questa impostazione è facoltativa se si dispone di una sola colonna trasformata tramite Pivot.

Immagine guida

L'immagine guida che segue mostra l'interazione tra i diversi componenti pivot

Pivot help graphics

Metadati pivot

Se non viene specificato alcun valore nella configurazione della chiave pivot, le colonne trasformate tramite Pivot vengono generate in modo dinamico in fase di esecuzione. Il numero di colonne trasformate tramite Pivot corrisponde al numero di valori di chiave pivot univoci moltiplicato per il numero di colonne pivot. Poiché può trattarsi di un numero variabile, l'esperienza utente non visualizza i metadati della colonna nella scheda Ispeziona e non viene eseguita nessuna propagazione delle colonne. Per eseguire la trasformazione di queste colonne, usare le funzionalità del flusso di dati per mapping del modello di colonna.

Se sono stati impostati valori di chiave pivot specifici, le colonne trasformate tramite Pivot vengono visualizzate nei metadati. I nomi delle colonne sono disponibili nella scheda Ispeziona e nel mapping di sink e ispezione.

Generare i metadati dalle colonne deviate

La trasformazione tramite Pivot genera i nuovi nomi di colonna in modo dinamico in base ai valori di riga. È possibile aggiungere le nuove colonne ai metadati a cui fare riferimento in un secondo momento nel flusso di dati. A tale scopo, usare l'azione rapida per il mapping delle colonne deviate nell'anteprima dei dati.

Pivot columns

Colonne trasformate tramite Pivot con sink

Sebbene le colonne trasformate tramite Pivot siano dinamiche, possono comunque essere scritte nell'archivio dati di destinazione. Abilitare Allow schema drift (Consenti deviazione schema) nelle impostazioni di sink. Ciò consente di eseguire la scrittura delle colonne non incluse nei metadati. I nuovi nomi dinamici non vengono visualizzati nei metadati della colonna, ma l'opzione di deviazione dello schema consente di inserire i dati.

Unire di nuovo in join i campi originali

La trasformazione tramite Pivot proietta solo le colonne Group by e trasformate tramite Pivot. Per includere altre colonne di input nei dati di output, usare un modello self join.

Script del flusso di dati

Sintassi

<incomingStreamName>
    pivot(groupBy(Tm),
        pivotBy(<pivotKeyColumn, [<specifiedColumnName1>,...,<specifiedColumnNameN>]),
        <pivotColumnPrefix> = <pivotedColumnValue>,
        columnNaming: '< prefix >< $N | $V ><middle >< $N | $V >< suffix >',
        lateral: { 'true' | 'false'}
    ) ~> <pivotTransformationName

Esempio

Le schermate visualizzate nella sezione di configurazione includono lo script del flusso di dati seguente:

BasketballPlayerStats pivot(groupBy(Tm),
    pivotBy(Pos),
    {} = count(),
    columnNaming: '$V$N count',
    lateral: true) ~> PivotExample

Provare la trasformazione tramite UnPivot per trasformare i valori di colonna in valori di riga.