【问题标题】:Add a column with specific text that is not contained in my flat file before being imported into SQL?在导入 SQL 之前添加一个包含我的平面文件中不包含的特定文本的列?
【发布时间】:2020-01-15 19:10:00
【问题描述】:

假设我有一个包含 3 列的平面文件(示例管道分隔) 这是平面文件

Name   | LastName | BirthDay
Arthur |   Tower  | 10-10-1990

现在在 SSIS 中如何添加列,但我希望列具有特定的文本/数字(值),我将在其上指定源,因为我将从不同系统导入数据到同一个 SQL 表

在 SQL 中导入后我希望如何查看的示例

Name    | LastName  |  BirthDay  | FileFrom
Arthur  |   Tower   | 10-10-1990 |  Facebook
Karen   |   Salty   | 12-19-1987 |  Twitter

【问题讨论】:

  • 如果 fileFrom 是一个参数,您可以使用派生列将其添加到数据流中。
  • 是的,我尝试添加派生列,但我不知道在这种情况下如何为列设置默认值,列的值应该是 "Twitter" ,因为这个值不是来自平面文件

标签: sql-server ssis etl flat-file


【解决方案1】:

您可以从特定来源读取数据,然后根据您的排序字段对其进行排序,然后将它们与您拥有的数据(姓名、姓氏、生日)合并。不要忘记姓名,姓氏,生日也需要排序。

Merge Join Transformation

SSIS Basics: Using the Merge Join Transformation

【讨论】:

  • 谢谢,分享信息,先生!感谢,我不确定我是否需要加入,因为信息不在另一个表 o 文件中。它将由我自己在派生列中进行硬编码,我很确定我在我的问题中没有正确解释自己
【解决方案2】:

这就是我所做的,

我添加了一个派生列,并在 EXPRESSION 上设置了以下内容: REPLACENULL("TheValueINeeded","NULL")

用我想要的值替换空值,我不确定这是否是正确的方法,但它有效。

现在我导入到 SQL 的数据是所有平面文件信息,在最后添加的列中我发送“TheValueINeeded”。

感谢堆垛机的帮助。

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多