Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv 派生列转换编辑器-我需要在订单号末尾以增量顺序添加编号_Csv_Ssis_Etl_Flat File_Derived Column - Fatal编程技术网

Csv 派生列转换编辑器-我需要在订单号末尾以增量顺序添加编号

Csv 派生列转换编辑器-我需要在订单号末尾以增量顺序添加编号,csv,ssis,etl,flat-file,derived-column,Csv,Ssis,Etl,Flat File,Derived Column,我有一个csv文件,有许多不同订单号的行 我需要通过SSIS派生的列转换编辑器更改它们,以便转换输出 我需要写一个表达式,在顺序的末尾加上数字,但我需要不同的数字或另一个顺序,所以它应该是递增的 Derived column Name Derived Column Expression Data Type OrderNumber <add as new column> ? Derived colum

我有一个csv文件,有许多不同订单号的行

我需要通过SSIS派生的列转换编辑器更改它们,以便转换输出

我需要写一个表达式,在顺序的末尾加上数字,但我需要不同的数字或另一个顺序,所以它应该是递增的

Derived column Name    Derived Column         Expression             Data Type  
OrderNumber           <add as new column>     ?  


Derived column Name    Derived Column         Expression             Data Type  
OrderNumber           <add as new column>     OrderNumber+"-"+"1"    unicode string
派生列名称派生列表达式数据类型

OrderNumber

没有库存方法可以实现您想要实现的目标。更容易的是编写一个脚本组件,并让它为您生成数字。一旦从该脚本组件中获得新列,就可以很容易地将其与现有订单号连接起来

只是好奇,为什么你不能在数据库上这样做呢?这将更容易实施和控制IMO


这里有一个生成数字的链接:

我认为您不能使用派生列转换来添加增量数字,您必须使用脚本组件来实现这一点

只需添加一个脚本组件,转到
输入和输出
选项卡,并添加类型为
DT_STR
的输出列。在脚本编辑器中使用类似的脚本:

int intOrder=1;
公共覆盖无效Input0\u进程InputRow(Input0Buffer行)
{
如果(!Row.OrderNumber_IsNull&&!String.IsNullOrEmpty(Row.OrderNumber)){
Row.outOrderNumber=Row.OrderNumber+“-”+intOrder.ToString();
intOrder++;
}否则{
Row.outOrderNumber\u IsNull=true;
}
}