Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

SCD Tipe 4

Data dimensi yang berubah secara perlahan atau tidak terduga ditangkap dalam analisis Dimensi yang Berubah Perlahan (SCD). Dalam lingkungan data warehouse, tabel dimensi memiliki kunci utama yang secara unik mengidentifikasi setiap record dan bagian informasi lainnya yang dikenal sebagai data dimensional.

Semua metode pembaruan untuk jenis SCD yang berbeda diselesaikan menggunakan program SortCL di IRI CoSort. Di IRI Voracity ada wizard untuk membantu membuat skrip pekerjaan SCD yang digunakan saat menjalankan program SortCL. Sebagian besar jenis SCD menggunakan gabungan luar penuh untuk mencocokkan catatan dari sumber data asli dengan catatan di sumber yang diperbarui berdasarkan menyamakan kunci dari masing-masing. Tipe 4, bagaimanapun, menyelesaikan pembaruan menggunakan semacam.

Ketik 4 SCD

Model Tipe 4 mirip dengan Tipe 2. Perbedaannya adalah ada 2 tabel atau file yang dipertahankan:satu untuk biaya saat ini dan satu lagi untuk menyimpan catatan riwayat untuk biaya. Saat record baru saat ini ditambahkan ke master, record baru ini biasanya ditambahkan ke histori pada waktu yang sama.

Definisi bidang sama dalam pembaruan, riwayat, dan file atau tabel master. Kami akan mengurutkan catatan untuk pembaruan dan riwayat bersama-sama. Master baru akan dibuat yang hanya memiliki satu record untuk setiap ProductCode dan rekor itu akan menjadi yang terbaru. Riwayat akan memiliki semua catatan untuk setiap ProductCode termasuk yang dari sumber pembaruan.

Tabel master awal akan sama dengan master awal dari contoh Tipe 1 kami dengan nilai seperti yang ditunjukkan di bawah ini.

Kode Produk Biaya Tanggal Mulai
C123 125,50 20110228
F112 2365.00 20120101
G101 19,25 20110930
J245 450,50 20110430
S022 98,75 20110515

Semua data pembaruan semua akan memiliki StartDate yang sama. Sumber update.dat berisi catatan dengan nilai berikut:

Kode Produk Biaya Tanggal Mulai
F112 2425.00 20120701
J245 550,50 20120701
M447 101.75 20120701
S022 101.75 20120701

Sumber history awal di bawah ini seperti master awal di Tipe 2. Jadi Tipe 4 adalah kombinasi dari Tipe 1 dan Tipe 2 dimana master sama dengan master Tipe 1 dan histori sama dengan master Tipe 2.

Kode Produk Biaya Tanggal Mulai
C123 125,50 20110228
F112 2365.00 20120101
G101 19,25 20110930
G101 21,25 20110501
J245 450,50 20110430
J245 425,25 20101001
J245 385,25 20100215
S022 98,75 20110515

Di IRI Workbench, ada wizard Voracity untuk membantu pembuatan skrip untuk memperbarui file dan tabel Dimensi. Wizard ini terletak di dropdown Voracity di bilah navigasi. Pertama Anda memilih jenis SCD. Kemudian jendela tempat Anda memilih sumber yang digunakan untuk memproses pembaruan akan ditampilkan.


Layar berikutnya adalah tempat Anda mengatur pengurutan dengan memilih tombol. Ada 2 kunci:ProductCode lalu Tanggal Mulai . Kami mengelompokkan berdasarkan ProductCode , tetapi kita juga perlu mengurutkan dalam urutan menurun berdasarkan Tanggal Mulai dalam setiap ProductCode pengelompokan. Ini agar kami dapat memfilter catatan terbaru untuk setiap ProductCode grup ke master baru.

Untuk membuat Tanggal Mulai kunci yang diurutkan dalam urutan menurun, pilih kunci itu lalu pilih Edit Kunci . Ini akan memunculkan layar berikut:

Di tarik-turun untuk Arah pilih Turun .

Berikut adalah skrip pekerjaan untuk pengurutan:

/INFILE=C:/IRI/CoSort95/workbench.orig/workspace/SCD/SCD4/history4.dat
    /PROCESS=DELIMITED
    /ALIAS=history4
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')
/INFILE=C:/IRI/CoSort95/workbench.orig/workspace/SCD/update.dat
    /PROCESS=DELIMITED
    /ALIAS=update
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')

/SORT
    /KEY=(PRODUCTCODE, TYPE=ASCII)
    /KEY=(STARTDATE, DESCENDING, TYPE=ASCII)

/OUTFILE=history4.dat
 # This file will contain all the records from both inputs
    /PROCESS=DELIMITED
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')

/OUTFILE=master4.dat
# Include only one record for each ProductCode
    /PROCESS=DELIMITED
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')
    /INCLUDE WHERE PRODUCTCODE

Di bawah ini adalah master yang diperbarui yang dihasilkan dengan menjalankan skrip pekerjaan di atas menggunakan SortCL. Nilainya sama dengan yang dihasilkan dalam pembaruan Tipe 1.

Kode Produk Biaya Tanggal Mulai
C123 125,50 20110228
F112 2425.00 20120701
G101 19,25 20110930
J245 550,50 20120701
M447 139,25 20120701
S022 101.75 20120701

File riwayat berisi semua catatan sebelumnya ditambah catatan baru dari file pembaruan.

Kode Produk Biaya Tanggal Mulai
C123 125,50 20110228
F112 2425.00 20120701
F112 2365.00 20120101
G101 19,25 20110930
G101 21,25 20110501
J245 550,50 20120701
J245 450,50 20110430
J245 425,25 20101001
J245 385,25 20100215
M447 101.75 220120701
S022 101.75 20120701
S022 98,75 20110515

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membulatkan Angka ke Integer Terdekat di SQL

  2. PEMBARUAN SQL

  3. Salesforce SOQL dari Crystal Reports

  4. Statistik Penantian Lutut :CXPACKET

  5. Menghubungkan .NET di Linux ke Sumber Data ODBC