azure - 如何获取最大值并将其替换到数据工厂的派生列中

标签 azure azure-data-factory

我是 Azure 数据工厂的新手。我需要以下实现方面的帮助 -

输入:

关键,第 3 列

1,5

2,6

3,7

期望的输出:

关键,第 3 列

1,3

2,6

3,7

这里key=1,col3值替换为3(key的最大值)

我需要将一列数据替换为另一列的最大值。我想获取键列的最大值并将第三列中的值替换为该最大值。这只应针对行 key=1 执行此操作。

我使用了派生列转换和 iif 表达式。但如何取最大值呢?

最佳答案

  • Max() 或任何聚合函数不能直接在派生列转换中使用。因此,使用窗口变换并取列键的最大值。在派生列转换中使用该值。

  • 我尝试使用示例数据重现此问题,下面是方法。

  • 已获取样本源数据。 enter image description here

img:1 源数据预览

  • 窗口转换是在源转换之后进行的。窗口列已选择。名为 ma​​x_key 的新列作为列名称。表达式为max(key)

enter image description here

img:2 窗口变换设置

  • 将整个表数据中键的最大值分配给ma​​x_key列。

enter image description here

img:3 Windows 转换数据预览

  • 进行派生列转换。 标记列的表达式为 iif(key=='1',max_key,mark)

enter image description here

img:4 派生列转换设置

  • 这里,我尝试分配 key 的最大值来标记,其中 key=1,并将该列的其余值分配为原始标记值。

enter image description here

img:5 派生列转换数据预览。

  • 通过这种方式,您可以在派生列转换中使用最大值。

关于azure - 如何获取最大值并将其替换到数据工厂的派生列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74813503/

相关文章:

javascript - Azure移动服务成功回调 `push.apns.send`

Azure Blob 存储 - SAS - 数据工厂

azure - 从 Azure 数据工厂 Web 事件获取 Azure Blob 队列消息

azure - 如何获取Azure数据工厂中的文件计数并基于它执行事件

linux - 用于 Linux 计算机的 azure 命令行工具,用于向 Azure 存储上传/下载数据

powershell - 如何使用 Azure 自动化运行存储过程?

java - 使用 Java 的 Azure 表存储时间戳不得为 null

azure - 在 Web 事件的 header 部分使用 Azure Key Vault key

azure - 如果在新项目中使用 Azure Synapse Analytics - 最好使用 Synapse Pipelines 而不是 ADF,还是有主要考虑因素?

具有 Base64 转换的 Azure 数据工厂动态内容