SSIS 将平面文件的 2 列(仅第一个非空)加载到变量中
SSIS load 2 columns of a flat file (first non null only) into a variable
我有一个包含以下列的平面文件
样品 ID Rep_Number 产品蛋白质脂肪固体
在平面文件中,SampleID 和 Product 仅填充在第一行,其余行仅包含 Rep_Number、蛋白质、脂肪、固体的值。其余行的 SampleID 和 Product 为空。所以我的任务是用具有 sampleID 和 Product 的第一行填充这些空白行,然后加载到 table.
因此任务是从平面文件中选取第一个非空 SampleID 和 Product 并将它们放入变量中。其余的都配置好了。如果我可以直接从平面文件中选择第一个非空 SampleID 和 Product 并将其放入它们各自的变量中,我可以从那里获取它。这就是我所需要的。
我可以将脚本组件连接到数据流任务中的平面文件源。我需要脚本方面的帮助来选择第一个非空值(SampleID 和 Product),
需要帮助。提前致谢。
如果您确定需要将第一行的数据 - 第 1 2 列的值存储在变量中并从那里获取,并且不需要更改原始方法,请尝试以下操作:
- 您需要一个新变量来跟踪 ROW COUNT。让它成为一个整数并将其设置为 0。这将有助于仅处理第一行并跳过其余行。我们称之为 Row_Count
- 从连接到作为源的平面文件的组件中检索数据后,将其连接到 'Script Component' 并单击 'Edit'。
- 在“脚本转换编辑器”中,单击左侧的 'Input Columns' 和 select 您想要检索的所需列(比如 Column_Name1 和 Column_Name2)来自(即第 1 和第 2)
的值
- 点击左边的'Script'
- 在 'Custom Properties' 下,展开 'ReadWriteVariables'。添加您打算用于存储值的 2 个变量和 Row_Count 变量。
- 单击“编辑脚本”。
- 在打开的编辑器中,双击右边的'ScriptMain.vb'。
在 Public Overrides Sub PostExecute() {} 过程中输入:
如果Variables.Row_Count = 0 那么
变量。Your_Variable1 = 行。Column_Name1
变量。Your_Variable2 = 行。Column_Name2
Variables.Row_Count=Variables.Row_Count+1
如果
结束
您的变量中有所需的值,请继续您的其余逻辑。
注:
- 如果您不将变量添加到 'ReadWriteVariables',您将无法在脚本中访问它们。
- 根据您可能在脚本中添加的任何其他代码,如果它们不存在,您将需要添加额外的 headers。
如果有帮助请标记我的post为答案:)
我有一个包含以下列的平面文件
样品 ID Rep_Number 产品蛋白质脂肪固体
在平面文件中,SampleID 和 Product 仅填充在第一行,其余行仅包含 Rep_Number、蛋白质、脂肪、固体的值。其余行的 SampleID 和 Product 为空。所以我的任务是用具有 sampleID 和 Product 的第一行填充这些空白行,然后加载到 table.
因此任务是从平面文件中选取第一个非空 SampleID 和 Product 并将它们放入变量中。其余的都配置好了。如果我可以直接从平面文件中选择第一个非空 SampleID 和 Product 并将其放入它们各自的变量中,我可以从那里获取它。这就是我所需要的。
我可以将脚本组件连接到数据流任务中的平面文件源。我需要脚本方面的帮助来选择第一个非空值(SampleID 和 Product),
需要帮助。提前致谢。
如果您确定需要将第一行的数据 - 第 1 2 列的值存储在变量中并从那里获取,并且不需要更改原始方法,请尝试以下操作:
- 您需要一个新变量来跟踪 ROW COUNT。让它成为一个整数并将其设置为 0。这将有助于仅处理第一行并跳过其余行。我们称之为 Row_Count
- 从连接到作为源的平面文件的组件中检索数据后,将其连接到 'Script Component' 并单击 'Edit'。
- 在“脚本转换编辑器”中,单击左侧的 'Input Columns' 和 select 您想要检索的所需列(比如 Column_Name1 和 Column_Name2)来自(即第 1 和第 2) 的值
- 点击左边的'Script'
- 在 'Custom Properties' 下,展开 'ReadWriteVariables'。添加您打算用于存储值的 2 个变量和 Row_Count 变量。
- 单击“编辑脚本”。
- 在打开的编辑器中,双击右边的'ScriptMain.vb'。
在 Public Overrides Sub PostExecute() {} 过程中输入:
如果Variables.Row_Count = 0 那么
变量。Your_Variable1 = 行。Column_Name1
变量。Your_Variable2 = 行。Column_Name2
Variables.Row_Count=Variables.Row_Count+1
如果
结束
您的变量中有所需的值,请继续您的其余逻辑。
注:
- 如果您不将变量添加到 'ReadWriteVariables',您将无法在脚本中访问它们。
- 根据您可能在脚本中添加的任何其他代码,如果它们不存在,您将需要添加额外的 headers。
如果有帮助请标记我的post为答案:)