【问题标题】:Azure Data Factory data flow expression unexpectedly scrambledAzure 数据工厂数据流表达式意外加扰
【发布时间】:2021-11-25 15:15:29
【问题描述】:

我的 ADF 数据流中有一个常见的派生列活动,它只是一些字段的串联,应该没有错误。

表达式生成器中的表达式:

我观察到的第一个意外行为是,表达式生成器中没有可用的数据预览(而同一派生列活动中的其他字段有): 当我按下“保存并完成”按钮时,派生列设置中的显示在表达式中显示错误: 我试图调查并重新打开表达式生成器,表达式意外地被打乱:

对这种行为有什么解释吗?我们是否有一些修复/解决方法让我保留原始表达式?

在此先感谢

【问题讨论】:

    标签: azure-data-factory azure-data-factory-2 azure-data-flow


    【解决方案1】:

    在表达式中使用 curl 括号来包含列。

    toString({ContactType@ID}) + '_' + toString({ContactType@Name}) + '_' + toString({ContactType@ModifiedDate})
    

    您也可以使用CONCAT函数将多个字符串值组合起来得到一个值。

    concat(toString({ContactType@ID}) , '_' , toString({ContactType@Name}) , '_' , toString({ContactType@ModifiedDate}))
    

    【讨论】:

    • 谢谢!这两种解决方法对我有用。我可以知道对于这种奇怪的行为是否有任何解释?我猜是@符号搞砸了?正如我所观察到的,这种情况仅在表达式包含 @ 符号时才会发生。
    • 是的,你是对的,可能是因为列名中的@。我注意到,如果列名包含任何特殊字符,例如 @ 或中间的空格,则在使用时应将其括在括号中。我查找了解释,但没有找到任何相关文件。
    • concat 的解释中我发现有一点很有趣:将可变数量的字符串连接在一起。与带字符串的 + 运算符相同.. 不过,感谢@NiharkaMoola-MT 的令人满意的解释。
    猜你喜欢
    • 2022-11-18
    • 2021-09-16
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2021-09-30
    相关资源
    最近更新 更多