Transformasi Pivot

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Transformasi Pivot membuat himpunan data yang dinormalisasi menjadi versi yang kurang dinormalisasi tetapi lebih ringkas dengan mempivot data input pada nilai kolom. Misalnya, himpunan data Pesanan yang dinormalisasi yang mencantumkan nama pelanggan, produk, dan kuantitas yang dibeli biasanya memiliki beberapa baris untuk setiap pelanggan yang membeli beberapa produk, dengan setiap baris untuk pelanggan tersebut memperlihatkan detail pesanan untuk produk yang berbeda. Dengan mempivot himpunan data pada kolom produk, transformasi Pivot dapat menghasilkan himpunan data dengan satu baris per pelanggan. Baris tunggal tersebut mencantumkan semua pembelian oleh pelanggan, dengan nama produk yang ditampilkan sebagai nama kolom, dan kuantitas yang ditampilkan sebagai nilai di kolom produk. Karena tidak setiap pelanggan membeli setiap produk, banyak kolom mungkin berisi nilai null.

Saat himpunan data dipivot, kolom input melakukan peran yang berbeda dalam proses pivot. Kolom dapat berpartisipasi dengan cara berikut:

  • Kolom diteruskan ke output tanpa perubahan. Karena banyak baris input hanya dapat menghasilkan satu baris output, transformasi hanya menyalin nilai input pertama untuk kolom.

  • Kolom bertindak sebagai kunci atau bagian dari kunci yang mengidentifikasi sekumpulan rekaman.

  • Kolom ini menentukan pivot. Nilai dalam kolom ini dikaitkan dengan kolom dalam himpunan data yang dipivot.

  • Kolom ini memuat nilai yang ditempatkan di kolom yang dibuat oleh tabel pivot.

Transformasi ini memiliki satu input, satu output reguler, dan satu output kesalahan.

Mengurutkan dan Menduplikasi Baris

Untuk melakukan pivot pada data secara efisien, yang berarti membuat rekaman sesedikit mungkin dalam dataset output, data input harus diurutkan berdasarkan kolom pivot. Jika data tidak diurutkan, transformasi Pivot mungkin menghasilkan beberapa rekaman untuk setiap nilai dalam kunci yang ditetapkan, yang merupakan kolom yang menentukan keanggotaan yang ditetapkan. Misalnya, jika himpunan data dipivot pada kolom Nama tetapi nama tidak diurutkan, himpunan data output dapat memiliki lebih dari satu baris untuk setiap pelanggan, karena pivot terjadi setiap kali nilai dalam Nama berubah.

Data input mungkin berisi baris duplikat, yang akan menyebabkan transformasi Pivot gagal. "Baris duplikat" berarti baris yang memiliki nilai yang sama dalam kolom kunci yang ditetapkan dan kolom pivot. Untuk menghindari kegagalan, Anda dapat mengonfigurasi transformasi untuk mengalihkan baris kesalahan ke output kesalahan atau Anda dapat melakukan pra-agregat nilai untuk memastikan tidak ada baris duplikat.

Opsi dalam Kotak Dialog Pivot

Anda mengonfigurasi operasi pivot dengan mengatur opsi dalam kotak dialog Pivot . Untuk membuka kotak dialog Pivot , tambahkan transformasi Pivot ke paket di SQL Server Data Tools (SSDT), lalu klik kanan komponen dan klik Edit.

Daftar berikut ini menjelaskan opsi dalam kotak dialog Pivot .

Kunci Pivot
Menentukan kolom yang akan digunakan untuk nilai di seluruh baris atas (baris header) tabel.

Tetapkan Kunci
Menentukan kolom yang akan digunakan untuk nilai di kolom kiri tabel. Tanggal input harus diurutkan pada kolom ini.

Nilai Pivot
Menentukan kolom yang akan digunakan untuk nilai tabel, selain nilai di baris header dan kolom kiri.

Abaikan nilai Kunci Pivot yang tidak cocok dan laporkan setelah eksekusi DataFlow
Pilih opsi ini untuk mengonfigurasi transformasi Pivot untuk mengabaikan baris yang berisi nilai yang tidak dikenal di kolom Kunci Pivot dan untuk menghasilkan semua nilai kunci pivot ke pesan log, saat paket dijalankan.

Anda juga dapat mengonfigurasi transformasi untuk menghasilkan nilai dengan mengatur properti kustom PassThroughUnmatchedPivotKeys ke True.

Membuat kolom output pivot dari nilai
Masukkan nilai kunci pivot dalam kotak ini untuk mengaktifkan transformasi Pivot untuk membuat kolom output untuk setiap nilai. Anda dapat memasukkan nilai sebelum menjalankan paket, atau melakukan hal berikut.

  1. Pilih opsi Abaikan nilai Kunci Pivot yang tidak cocok dan laporkan setelah opsi eksekusi Aliran Data, lalu klik OK di kotak dialog Pivot untuk menyimpan perubahan ke transformasi Pivot.

  2. Jalankan paket.

  3. Saat paket berhasil, klik tab Kemajuan dan cari pesan log informasi dari transformasi Pivot yang berisi nilai kunci pivot.

  4. Klik kanan pesan dan klik Salin Teks Pesan.

  5. Klik Hentikan Debugging pada menu Debug untuk beralih ke mode desain.

  6. Klik kanan transformasi Pivot, lalu klik Edit.

  7. Hapus centang opsi Abaikan nilai Kunci Pivot yang tidak cocok dan laporkan setelah eksekusi DataFlow, lalu tempelkan nilai kunci pivot ke dalam kotak Hasilkan kolom keluaran pivot dari nilai menggunakan format berikut.

    [value1],[value2],[value3]

Hasilkan Kolom Sekarang
Klik untuk membuat kolom output untuk setiap nilai kunci pivot yang tercantum dalam kotak Hasilkan kolom output pivot dari nilai .

Kolom output muncul di kotak Kolom output pivot yang sudah ada.

Kolom output pivot yang ada
Mencantumkan kolom keluaran untuk nilai kunci pivot

Tabel berikut ini memperlihatkan himpunan data sebelum data dipivot pada kolom Tahun .

Tahun Nama Produk Total
2004 Ban Gunung HL 1.504.884,15
2003 Tabung Ban Jalan 35920.50
2004 Botol Minum - 30 oz. 2805.00
2002 Ban Touring 62364.225

Tabel berikut ini memperlihatkan himpunan data setelah data dipivot pada kolom Tahun .

Nama Produk 2002 2003 2004
Ban Gunung HL 141164.10 446297.775 1504884.15
Tabung Ban Jalan 3592.05 35920.50 89.801,25
Botol Minum - 30 oz. NULL NULL 2805.00
Ban Touring 62364.225 375051.60 1041810.00

Untuk membuat pivot pada data di kolom Tahun, seperti ditunjukkan di atas, opsi berikut diatur dalam kotak dialog Pivot.

  • Tahun dipilih di kotak daftar Kunci Pivot.

  • Nama Produk dipilih di kotak daftar Set Key.

  • Total dipilih di kotak daftar Nilai Pivot.

  • Nilai berikut dimasukkan dalam kotak Hasilkan kolom keluaran pivot dari nilai.

    [2002],[2003],[2004]

Konfigurasi Transformasi Pivot

Anda dapat mengatur properti melalui SSIS Designer atau secara terprogram.

Untuk informasi selengkapnya tentang properti yang bisa Anda atur dalam kotak dialog Editor Lanjutan, klik salah satu topik berikut: