質問
SSISを使用してExcelシートからSQL Server 2005にデータをインポートします。データには、同じ列に以前の空ではないセルの値を持つデータを含むいくつかの列が含まれています。
2005 | 15 | Something1
| 12 | Something2
| 14 | Something3
2006 | 10 | Something4
| 2 | Something5
| 18 | Something6
| 15 | Something7
2005年と2006年に記入する必要がありますが、取得できるのはnullだけです。 このフィールドの値がnullでない場合は変数に入れて、それを使用してその後に続くnull値を置換できますか?
解決
データフローでスクリプトコンポーネントを使用し、変数を使用して最後の既知の値を保持する各行を調べる必要があります。
更新:コードは次のとおりです。これはSSIS 2008のVBで行ったため、編集が必要な場合があります(たとえば、変数の代わりにDts.Variables [" User :: LastYear"]。Value.ToInt32()を使用する必要がある場合があります。 LastYear--頭の上から思い出せない)
Dim LastYear As Integer
Public Overrides Sub PreExecute()
MyBase.PreExecute()
LastYear = 0
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
If Row.year_IsNull Then
Row.year = LastYear
Else
LastYear = Row.year
End If
End Sub
うまくいけば、これは助けになります!
所属していません StackOverflow