【问题标题】:Can I create a parameter in a Local?我可以在本地创建参数吗?
【发布时间】:2021-12-24 03:56:14
【问题描述】:

我用表达式创建了一个派生列

(虚拟样本) iif(columnX=='true',1,0)

这个表达式将在另一个派生列中使用,所以我想用这个表达式创建一个本地,但是在 columnX 的地方我会为另一个列放置一个参数

有可能吗?怎么样?

【问题讨论】:

  • 您好,您能详细介绍一下您的方案吗? “此表达式将在另一个派生列中使用” - 它用于同一数据流中的派生列?
  • 嗨,在我的场景中,我将从 .csv 文件导入数据。该文件具有用户可以输入诸如布尔值(是/否)之类的文本的列,但用户可以以多种方式编写(是,是,是,y,真......)我的表达式处理输入 iif(columnX==' true',1,iif(columnX=='yes', 1, iif(columnX=='y',1, 0)))

标签: azure-data-factory azure-synapse


【解决方案1】:

我尝试创建一个数据流参数 (param2) 并使用不同的参数 (param1) 而不是 ColumnX 将您的表达式添加到其中。

但后来我无法更改表达式中的参数值,它只是采用默认值。也没有找到任何相关文档来为数据流中的参数分配列值。

我能想到的唯一方法是,在不同的派生列中多次使用该表达式,用不同的列代替 ColumnX。

  • 派生列 1:将表达式添加到新列 (col1)

  • 派生列 1 的预览:针对 Sample1 列评估表达式。

  • 派生列 2:重复使用相同的列名 Col1 来针对 Sample2 列计算表达式。如果需要先前的值,您可以将 Col1 的先前值分配给派生列 2 中的新列 (previous_col1),如下图所示。

  • 派生列2的预览

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    相关资源
    最近更新 更多