SSIS 转换(几乎就像一个支点)

2022-01-16 00:00:00 sql sql-server sql-server-2008-r2 ssis

我有以下数据进入 SSIS

I have the following data coming in to SSIS

Set   Value
---   -------
1     One
1     Two
1     Three
2     Four
2     Five
2     Six

我想把它转换成阅读

Set   ValueList
---   -------
1     One, Two, Three
2     Four, Five, Six

如何在 SSIS 中执行此操作?

How do I do this in SSIS?

推荐答案

我使用脚本组件进行跨行的字符串连接

I used the Script Component to do the string concatenation across rows

string TagId = "-1";
string TagList = "";
bool IsFirstRow = true;

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    if (Row.TAGSId.ToString() == TagId)
    {
        TagList += Row.TAG + ",";
    }
    else
    {
        if (IsFirstRow)
        {
            Output0Buffer.AddRow();
            IsFirstRow = false;
        }

        TagId = Row.TAGSId.ToString();
        TagList = Row.TAG.ToString() + ",";
    }

    Output0Buffer.TagId = int.Parse(TagId);
    Output0Buffer.TagList = TagList;
    Output0Buffer.TagLength = TagList.Length;

    //variable used in subsequent queries
    this.Variables.TagList = TagList;
}

相关文章