วันศุกร์ที่ 16 มกราคม พ.ศ. 2558

SSIS Tips

---- Data flow : Error rows redirect.
ตัวอย่าง Table customer มี 1000 records โดยมี CUST_CODE = PK
Import data จาก Text file 100 รายการ
มี 5 รายการที่มี CUST_CODE ซ้ำกับของเดิม

** Concern
  - Default ของ "Data acess mode"  (Destination) คือ  "Table or view - fast load"
    ถ้าเป็นตัวเลือกนี้ ทั้ง 100 รายการจะถูกมองว่า Error ทั้งหมด ซึ่งทำให้ยากต่อการวิเคราะห์ว่า Record ใด Error

   ดังนั้นกรณีที่ต้องการให้มีเฉพาะ 5 รายการที่ซ้ำ Redirect row ไปเก็บไว้ใน Error log table ให้เปลี่ยน Mode เป็น "Table or view"

Credit : http://stackoverflow.com/questions/5172801/bids-ssis-redirect-row-on-error-sends-too-many-rows





-----Inferred Dimension members
สรุปย่อๆคือ การสร้างรายการข้อมูลของ dimension ขึ้นมากลางอากาศขณะโหลด Fact table
เช่น Fact_sale มี Product ใหม่ แต่ใน dim_product ยังไม่มี Record ก็สร้าง Record ใน dim_product เลย
แล้วเอาไป insert in fact_sale โดยมี Flag ใน dim_product บอกว่า Record นั้นๆเป็น Inferred หรือไม่ (Boolean) แล้วค่อยมา Update ข้อมูลอื่นๆภายหลัง

แต่ขั้นตอนการ Implement ก็ซับซ้อนขึ้นด้วย

Credit : http://www.sqlservercentral.com/articles/Data+Warehouse/71233/