發表文章

目前顯示的是 8月 24, 2014的文章

欄位資料切分與資料列增生

圖片
如果遇上一張表內的某個欄位儲存了多種狀態,而好死不死的這張表偏偏又是主要資料, 許多欄位不能隨意捨棄時,可以試試看這種做法。 起初的想法就是將欄位內的多筆狀態紀錄切開。 但是切開是切開了,那只是主要Table的其中一個Row啊! 天殺的還有千千萬萬個Row等著處理, 更麻煩的是,就算全切開了,其他欄位也跟人間蒸發, 想要Join找不到欄位Join,就像想吃火鍋端上來的偏偏都是刨冰。 於是就有了「既然要切開,那乾脆把切出來的這個數值掛上名牌」的想法, 如此一來就能知道這個被硬生生拆散的狀態數值的爸媽是誰。 上圖就是切分增生完的狀態。 主要資料表雖然資料量變多了,但資料欄位完整。 這種作法不知道有沒有正統的名稱,抑或根本沒人會這麼作, 但是客官就是要統計資料「鉅細靡遺」,大項也要細目也要, 在當下這顆菜比巴的腦袋裡只想得出這種方法,時間有限,就先這樣幹囉。 要做到這種效果,這裡使用的方法是找一段可以作出Split效果的Function。 這個Function在切分完欄位內的後,回傳的是Table型態,欄位為一個流水號和被切分出的值。 之後在預存程序裏面開始處理主要的Table。 只要利用迴圈和簡單的判斷式子就能作出這種效果, 之後要再Join其他Table也會比較順利,不怕沒欄位可以Join回去。