Transformasi Agregat
Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory
Transformasi Agregat menerapkan fungsi agregat, seperti Rata-rata, ke nilai kolom dan menyalin hasilnya ke output transformasi. Selain fungsi agregat, transformasi menyediakan klausa GROUP BY, yang dapat Anda gunakan untuk menentukan grup untuk diagregasi.
Operasional
Transformasi Agregat mendukung operasi berikut.
Operasi | Deskripsi |
---|---|
Kelompokkan berdasarkan | Membagi himpunan data menjadi grup. Kolom dari jenis data apa pun dapat digunakan untuk pengelompokan. Untuk informasi selengkapnya, lihat GROUP BY (Transact-SQL). |
Jumlah total | Menjumlahkan nilai dalam kolom. Hanya kolom dengan jenis data numerik yang dapat dijumlahkan. Untuk informasi selengkapnya, lihat SUM (Transact-SQL). |
Tengah | Mengembalikan rata-rata nilai kolom dalam kolom. Hanya kolom dengan jenis data numerik yang dapat dirata-ratakan. Untuk informasi selengkapnya, lihat AVG (Transact-SQL). |
Hitung | Mengembalikan jumlah item dalam grup. Untuk informasi selengkapnya, lihat COUNT (Transact-SQL). |
Hitung berbeda | Mengembalikan jumlah nilai nonnull unik dalam grup. |
Minimum | Mengembalikan nilai minimum dalam grup. Untuk informasi selengkapnya, lihat MIN (Transact-SQL). Berbeda dengan fungsi TRANSACT-SQL MIN, operasi ini hanya dapat digunakan dengan jenis data numerik, tanggal, dan waktu. |
Maksimum | Mengembalikan nilai maksimum dalam grup. Untuk informasi selengkapnya, lihat MAX (Transact-SQL). Berbeda dengan fungsi TRANSACT-SQL MAX, operasi ini hanya dapat digunakan dengan jenis data numerik, tanggal, dan waktu. |
Transformasi Agregat menangani nilai null dengan cara yang sama seperti mesin database relasional SQL Server. Perilaku didefinisikan dalam standar SQL-92. Aturan berikut ini akan berlaku:
Dalam klausa GROUP BY, null diperlakukan seperti nilai kolom lainnya. Jika kolom pengelompokan berisi lebih dari satu nilai null, nilai null dimasukkan ke dalam satu grup.
Dalam fungsi COUNT (nama kolom) dan COUNT (nama kolom DISTINCT), null diabaikan dan hasilnya mengecualikan baris yang berisi nilai null di kolom bernama.
Dalam fungsi COUNT (*), semua baris dihitung, termasuk baris dengan nilai null.
Angka Besar dalam Agregat
Kolom mungkin berisi nilai numerik yang memerlukan pertimbangan khusus karena nilai atau persyaratan presisinya yang besar. Transformasi Agregasi mencakup properti IsBig, yang dapat Anda atur pada kolom output untuk memanggil penanganan khusus angka presisi besar atau tinggi. Jika nilai kolom mungkin melebihi 4 miliar atau presisi di luar jenis data float diperlukan, IsBig harus diatur ke 1.
Mengatur properti IsBig ke 1 memengaruhi output transformasi agregasi dengan cara berikut:
Jenis data DT_R8 digunakan alih-alih jenis data DT_R4.
Hasil hitungan disimpan sebagai jenis data DT_UI8.
Hasil hitungan yang berbeda disimpan sebagai jenis data DT_UI4.
Catatan
Anda tidak dapat mengatur IsBig ke 1 pada kolom yang digunakan dalam operasi GROUP BY, Maximum, atau Minimum.
Pertimbangan Performa
Transformasi Agregat menyertakan sekumpulan properti yang dapat Anda atur untuk meningkatkan performa transformasi.
Saat melakukan operasi Kelompokkan menurut , atur properti Keys atau KeysScale komponen dan output komponen. Dengan menggunakan Kunci, Anda dapat menentukan jumlah kunci yang tepat yang diharapkan untuk ditangani oleh transformasi. (Dalam konteks ini, Kunci mengacu pada jumlah grup yang diharapkan Kelompokkan menurut operasi.) Dengan menggunakan KeysScale, Anda dapat menentukan perkiraan jumlah kunci. Saat Anda menentukan nilai yang sesuai untuk Keys atau KeyScale, Anda meningkatkan performa karena tranformasi dapat mengalokasikan memori yang memadai untuk data yang di-cache transformasi.
Saat melakukan operasi hitungan Berbeda, atur properti CountDistinctKeys atau CountDistinctScale dari komponen. Dengan menggunakan CountDistinctKeys, Anda dapat menentukan jumlah kunci yang tepat yang diharapkan ditangani transformasi untuk operasi yang berbeda. (Dalam konteks ini, CountDistinctKeys mengacu pada jumlah nilai berbeda yang diharapkan dihasilkan dari Operasi hitungan yang berbeda.) Dengan menggunakan CountDistinctScale, Anda dapat menentukan perkiraan jumlah kunci untuk operasi yang berbeda hitungan. Saat Anda menentukan nilai yang sesuai untuk CountDistinctKeys atau CountDistinctScale, Anda meningkatkan performa karena transformasi dapat mengalokasikan memori yang memadai untuk data yang di-cache transformasi.
Konfigurasi Transformasi Agregat
Anda mengonfigurasi transformasi Agregat pada tingkat transformasi, output, dan kolom.
Pada tingkat transformasi, Anda mengonfigurasi transformasi Agregat untuk performa dengan menentukan nilai berikut:
Jumlah grup yang diharapkan dihasilkan dari operasi Kelompokkan menurut .
Jumlah nilai berbeda yang diharapkan dihasilkan dari operasi Hitungan yang berbeda .
Persentase di mana memori dapat diperpanjang selama agregasi.
Transformasi Agregat juga dapat dikonfigurasi untuk menghasilkan peringatan alih-alih gagal ketika nilai pembavis adalah nol.
Pada tingkat output, Anda mengonfigurasi transformasi Agregat untuk performa dengan menentukan jumlah grup yang diharapkan dihasilkan dari operasi Kelompokkan menurut . Transformasi Agregat mendukung beberapa output, dan masing-masing dapat dikonfigurasi secara berbeda.
Di tingkat kolom, Anda menentukan nilai berikut:
Agregasi yang dilakukan kolom.
Opsi perbandingan agregasi.
Anda juga dapat mengonfigurasi transformasi Agregat untuk performa dengan menentukan nilai-nilai ini:
Jumlah grup yang diharapkan dihasilkan dari operasi Kelompokkan menurut pada kolom.
Jumlah nilai berbeda yang diharapkan dihasilkan dari operasi Hitungan berbeda pada kolom.
Anda juga dapat mengidentifikasi kolom sebagai IsBig jika kolom berisi nilai numerik besar atau nilai numerik dengan presisi tinggi.
Transformasi Agregat bersifat asinkron, yang berarti tidak menggunakan dan menerbitkan baris data menurut baris. Sebaliknya menggunakan seluruh set baris, melakukan pengelompokan dan agregasinya, lalu menerbitkan hasilnya.
Transformasi ini tidak melewati kolom apa pun, tetapi membuat kolom baru dalam aliran data untuk data yang diterbitkannya. Hanya kolom input yang menerapkan fungsi agregat atau kolom input yang digunakan transformasi untuk pengelompokan yang disalin ke output transformasi. Misalnya, input transformasi Agregat mungkin memiliki tiga kolom: CountryRegion, City, dan Population. Grup transformasi menurut kolom CountryRegion dan menerapkan fungsi Jumlah ke kolom Populasi . Oleh karena itu output tidak menyertakan kolom Kota .
Anda juga dapat menambahkan beberapa output ke transformasi Agregat dan mengarahkan setiap agregasi ke output yang berbeda. Misalnya, jika transformasi Agregat menerapkan fungsi Jumlah dan Rata-rata, setiap agregasi dapat diarahkan ke output yang berbeda.
Anda dapat menerapkan beberapa agregasi ke satu kolom input. Misalnya, jika Anda menginginkan jumlah dan nilai rata-rata untuk kolom input bernama Penjualan, Anda dapat mengonfigurasi transformasi untuk menerapkan fungsi Jumlah dan Rata-rata ke kolom Penjualan .
Transformasi Agregat memiliki satu input dan satu atau beberapa output. Ini tidak mendukung output kesalahan.
Anda dapat mengatur properti melalui SSIS Designer atau secara terprogram.
Kotak dialog Editor Lanjutan mencerminkan properti yang dapat diatur secara terprogram. Untuk informasi selengkapnya tentang properti yang bisa Anda atur dalam kotak dialog Editor Lanjutan atau secara terprogram, klik salah satu topik berikut ini:
Untuk informasi selengkapnya tentang cara mengatur properti, klik salah satu topik berikut:
Nilai Agregat dalam Himpunan Data dengan Menggunakan Transformasi Agregat
Mengurutkan Data untuk Transformasi Gabungkan dan Gabungkan Gabungan
Tugas Terkait
Nilai Agregat dalam Himpunan Data dengan Menggunakan Transformasi Agregat
Editor Transformasi Agregat (Tab Agregasi)
Gunakan tab Agregasi dari kotak dialog Editor Transformasi Agregat untuk menentukan kolom untuk properti agregasi dan agregasi. Anda dapat menerapkan beberapa agregasi. Transformasi ini tidak menghasilkan output kesalahan.
Catatan
Opsi untuk jumlah kunci, skala kunci, jumlah kunci yang berbeda, dan skala kunci yang berbeda berlaku pada tingkat komponen ketika ditentukan pada tab Tingkat Lanjut , pada tingkat output ketika ditentukan dalam tampilan lanjutan tab Agregasi , dan pada tingkat kolom saat ditentukan dalam daftar kolom di bagian bawah tab Agregasi .
Dalam transformasi Agregat, skala Kunci dan Kunci mengacu pada jumlah grup yang diharapkan dihasilkan dari operasi Kelompokkan menurut. Hitung kunci yang berbeda dan Hitung skala yang berbeda mengacu pada jumlah nilai berbeda yang diharapkan dihasilkan dari operasi hitungan yang berbeda.
Opsi
Tingkat Lanjut / Dasar
Tampilkan atau sembunyikan opsi untuk mengonfigurasi beberapa agregasi untuk beberapa output. Secara default, opsi Tingkat Lanjut disembunyikan.
Nama Agregasi
Di tampilan Tingkat Lanjut, ketik nama yang mudah diingat untuk agregasi.
Kelompokkan Menurut Kolom
Di tampilan Tingkat Lanjut, pilih kolom untuk pengelompokan dengan menggunakan daftar Kolom Input yang Tersedia seperti yang dijelaskan di bawah ini.
Skala Kunci
Di tampilan Tingkat Lanjut, secara opsional tentukan perkiraan jumlah kunci yang dapat ditulis agregasi. Secara default, nilai opsi ini tidak ditentukan. Jika properti Skala Kunci dan Kunci diatur, nilai Kunci diutamakan.
Nilai | Deskripsi |
---|---|
Tidak disebutkan | Properti Skala Kunci tidak digunakan. |
Kurang Penting | Agregasi dapat menulis sekitar 500.000 kunci. |
Medium | Agregasi dapat menulis sekitar 5.000.000 kunci. |
Sangat Penting | Agregasi dapat menulis lebih dari 25.000.000 kunci. |
Key
Di tampilan Tingkat Lanjut, secara opsional tentukan jumlah kunci yang tepat yang dapat ditulis agregasi. Jika Skala Kunci dan Kunci ditentukan, Kunci diutamakan.
Kolom Input yang Tersedia
Pilih dari daftar kolom input yang tersedia dengan menggunakan kotak centang dalam tabel ini.
Kolom Input
Pilih dari daftar kolom input yang tersedia.
Output Alias
Ketik alias untuk setiap kolom. Defaultnya adalah nama kolom input; namun, Anda dapat memilih nama deskriptif yang unik.
Operasi
Pilih dari daftar operasi yang tersedia, menggunakan tabel berikut sebagai panduan.
Operasi | Deskripsi |
---|---|
GroupBy | Membagi himpunan data menjadi grup. Kolom dengan jenis data apa pun dapat digunakan untuk pengelompokan. Untuk informasi selengkapnya, lihat GROUP BY. |
Jumlah | Menjumlahkan nilai dalam kolom. Hanya kolom dengan jenis data numerik yang dapat dijumlahkan. Untuk informasi selengkapnya, lihat SUM. |
Tengah | Mengembalikan rata-rata nilai kolom dalam kolom. Hanya kolom dengan jenis data numerik yang dapat dirata-ratakan. Untuk informasi selengkapnya, lihat AVG. |
Hitung | Mengembalikan jumlah item dalam grup. Untuk informasi selengkapnya, lihat COUNT. |
CountDistinct | Mengembalikan jumlah nilai nonnull unik dalam grup. Untuk informasi selengkapnya, lihat COUNT dan Distinct. |
Minimum | Mengembalikan nilai minimum dalam grup. Dibatasi untuk jenis data numerik. |
Maksimum | Mengembalikan nilai maksimum dalam grup. Dibatasi untuk jenis data numerik. |
Bendera Perbandingan
Jika Anda memilih Kelompokkan Menurut, gunakan kotak centang untuk mengontrol bagaimana transformasi melakukan perbandingan. Untuk informasi tentang opsi perbandingan string, lihat Membandingkan Data String.
Hitung Skala Yang Berbeda
Secara opsional tentukan perkiraan jumlah nilai berbeda yang dapat ditulis oleh agregasi. Secara default, nilai opsi ini tidak ditentukan. Jika CountDistinctScale dan CountDistinctKeys ditentukan, CountDistinctKeys lebih diutamakan.
Nilai | Deskripsi |
---|---|
Tidak disebutkan | Properti CountDistinctScale tidak digunakan. |
Kurang Penting | Agregasi dapat menulis sekitar 500.000 nilai yang berbeda. |
Medium | Agregasi dapat menulis sekitar 5.000.000 nilai yang berbeda. |
Sangat Penting | Agregasi dapat menulis lebih dari 25.000.000 nilai yang berbeda. |
Hitung Kunci yang Berbeda
Secara opsional tentukan jumlah nilai berbeda yang dapat ditulis oleh agregasi. Jika CountDistinctScale dan CountDistinctKeys ditentukan, CountDistinctKeys lebih diutamakan.
Editor Transformasi Agregat (Tab Tingkat Lanjut)
Gunakan tab Tingkat Lanjut dari kotak dialog Editor Transformasi Agregat untuk mengatur properti komponen, menentukan agregasi, dan mengatur properti kolom input dan output.
Catatan
Opsi untuk jumlah kunci, skala kunci, jumlah kunci yang berbeda, dan skala kunci yang berbeda berlaku pada tingkat komponen ketika ditentukan pada tab Tingkat Lanjut , pada tingkat output ketika ditentukan dalam tampilan lanjutan tab Agregasi , dan pada tingkat kolom saat ditentukan dalam daftar kolom di bagian bawah tab Agregasi .
Dalam transformasi Agregat, skala Kunci dan Kunci mengacu pada jumlah grup yang diharapkan dihasilkan dari operasi Kelompokkan menurut. Hitung kunci yang berbeda dan Hitung skala yang berbeda mengacu pada jumlah nilai berbeda yang diharapkan dihasilkan dari operasi hitungan yang berbeda.
Opsi
Skala kunci
Secara opsional tentukan perkiraan jumlah kunci yang diharapkan agregasi. Transformasi menggunakan informasi ini untuk mengoptimalkan ukuran cache awalnya. Secara default, nilai opsi ini tidak ditentukan. Jika skala Kunci dan Jumlah kunci ditentukan, Jumlah kunci diutamakan.
Nilai | Deskripsi |
---|---|
Tidak disebutkan | Properti skala Kunci tidak digunakan. |
Kurang Penting | Agregasi dapat menulis sekitar 500.000 kunci. |
Medium | Agregasi dapat menulis sekitar 5.000.000 kunci. |
Sangat Penting | Agregasi dapat menulis lebih dari 25.000.000 kunci. |
Jumlah kunci
Secara opsional tentukan jumlah kunci yang tepat yang diharapkan agregasi. Transformasi menggunakan informasi ini untuk mengoptimalkan ukuran cache awalnya. Jika skala Kunci dan Jumlah kunci ditentukan, Jumlah kunci diutamakan.
Hitung skala yang berbeda
Secara opsional tentukan perkiraan jumlah nilai berbeda yang dapat ditulis oleh agregasi. Secara default, nilai opsi ini tidak ditentukan. Jika kedua Hitung skala yang berbeda dan Hitung kunci yang berbeda ditentukan, Hitung kunci yang berbeda lebih diutamakan.
Nilai | Deskripsi |
---|---|
Tidak disebutkan | Properti CountDistinctScale tidak digunakan. |
Kurang Penting | Agregasi dapat menulis sekitar 500.000 nilai yang berbeda. |
Medium | Agregasi dapat menulis sekitar 5.000.000 nilai yang berbeda. |
Sangat Penting | Agregasi dapat menulis lebih dari 25.000.000 nilai yang berbeda. |
Menghitung kunci yang berbeda
Secara opsional tentukan jumlah nilai berbeda yang dapat ditulis oleh agregasi. Jika kedua Hitung skala yang berbeda dan Hitung kunci yang berbeda ditentukan, Hitung kunci yang berbeda lebih diutamakan.
Faktor perluasan otomatis
Gunakan nilai antara 1 dan 100 untuk menentukan persentase di mana memori dapat diperpanjang selama agregasi. Secara default, nilai opsi ini adalah 25%.