如何使用变量引用SSIS脚本中某一行的列?
编辑:我正在关闭此,并再次发布更好的描述。如何使用变量引用SSIS脚本中某一行的列?
我正在将一些医疗诊断从平面文件加载到临时表中。每个诊断都有三个字段:Diagnosis_Code,Diagnosis_Date和Diagnosis_Type。该文件总共包含9个诊断,总共27个字段(Diagnosis01_Date,Diagnosis02_Date等),登台表中的字段名称与文件中的字段名称相匹配。
使用脚本组件,我需要对这些值中的某些值执行功能,并希望在循环中执行它,而不是将它写入同一个事物9次。如果我在VB中的记录工作,我会写这样的事情在Input0_ProcessInputRow子:
For i = 1 to 9
row.("Diagnosis0"+ i +"_Date").Value = diagnosisDate
next i
但行的列是不是一个集合,我不能找到一种方法,参考他们的名字。有没有办法循环访问列并在SSIS脚本中修改它们?
编辑:我想要做的是,在我的脚本组件中,替换这一系列的重复任务:
row.Diagnosis01 = diagnosisDate
row.Diagnosis02 = diagnosisDate
....
row.Diagnosis09 = diagnosisDate
随着循环。
您可以使用String.Split
实现这一目标,在读取文件的一行,时间:
string line = row; // 'row' will be a line of data from your file
string[] fields = line.Split('|');
for (int i = 0; i < fields.Length; i++)
{
// perform whatever logic you need to on fields[i]
}
现在,我的脚本组件正在使用Input0_ProcessInputRow子句,该子句一次处理一行并在其中设置值:row.Dx1 = myDate,row.Dx2 = myDate ...我在哪里应用此方法? – DataWriter
我刚刚添加了一个编辑来澄清我尝试做什么,如果有帮助的话。 – DataWriter
你会怎么办这取决于数据。它是否被划定?固定宽度? –
数据是管道分隔的。 – DataWriter
你可以包含一个数据样本吗?另外,这是数据流任务中的脚本组件还是脚本任务?该任务的结果/输出是什么? –