首页 > 解决方案 > 如何在 Azure 数据工厂的复制数据活动映射中将货币转换为十进制

问题描述

在 Azure 数据工厂中,我有一条管道,并且管道有一个复制数据活动,该活动具有一个源 REST api 和一个目标 SQL DB 表。

在此复制活动的映射中,我告诉 REST 数据集(左侧)中的哪些列将映射到 SQL 数据集上的哪些列(右侧)

在此处输入图像描述

Rest“totalBalance”中有一个 json 属性,应该映射到 DB 表中的“Balance”字段。

Json 将“totalBalance”作为字符串,例如“$36,970,267.07”,那么如何将其转换为十进制以便我可以将其映射到数据库表?

我需要一些如何使用映射活动而不是复制活动吗?或者只是复制活动可以做到这一点?

标签: azureazure-data-factoryazure-data-factory-2

解决方案


最后对我有用的是进行复制活动和映射活动。

复制活动将数据从 REST 复制到 SQLtable,其中所有列都是 VARCHAR 类型,并且从该表映射活动将数据从 SQL(allString) 表接收到实际目标 SQLTable。

但是在映射和接收器之间,我为要转换的每个源属性添加了“派生列”,并且在该派生列的表达式中,我使用了这样的表达式

toDecimal(replace(replace(totalAccountReceivable, '$', ''),',',''))

在此处输入图像描述


推荐阅读