如何检查列的值是否在数组列表中- Azure数据工厂?

kq0g1dla  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(216)

我想检查参数中的客户ID。
这是我的样本数据。
客户ID、客户名称、联系人、电话号码、电子邮件地址
1001,ABC Inc.,John Smith,555- 1234,john@abc.com
1002,XYZ Corp.,Jane Doe,555- 5678,jane@xyz.com
1003,Acme Co.,BobJson,555- 2468,bob@acme.com
1004,Smith & Sons,玛丽Smith,555- 3698,mary@smith.com
1005,Jones Inc.,Tom Jones,555- 7890,tom@jones.com
我有一个数组列表,它作为参数传递给数据流。我将此作为一个新的列与上述数据沿着添加。添加我的数据后看起来像这样。
客户ID、客户名称、联系人、电话号码、电子邮件地址、Customer_profit_array
1001,ABC Inc.,John Smith,555- 1234,john@abc.com,[1001,1002,1007]
1002,XYZ公司,Jane Doe,555- 5678,jane@xyz.com,[1001,1002,1007]
1003,Acme Co.,BobJson,555- 2468,bob@acme.com,[1001,1002,1007]
1004,Smith & Sons,玛丽Smith,555- 3698,mary@smith.com,[1001,1002,1007]
1005,Jones Inc.,Tom Jones,555- 7890,tom@jones.com,[1001,1002,1007]
现在,只要数组中有可用的客户ID,我就想显示yes。在上面的示例中,row 1和row 2应该具有yes,其他的应该具有no的值。
我尝试用iif({Customer ID} in $Customer_profit_array, 'Yes','No')表示该列。但这不是一个有效的表达式。如何解决这个问题?

ozxc1zmp

ozxc1zmp1#

要检查数据是否在数组中,可以在数据流中使用contain函数。

语法:contains(<value1> : array, <value2> : unaryfunction)

contains函数的结果为布尔类型。

  • 给予新列的表达式,iif(contains({ Customer_profit_array},#item=={Customer ID}),'Yes','No')

此表达式检查customer id是否在Customer_profit_array列中。

输出

客户ID客户名称联系人电话号码电子邮件地址*Customer_profit_arraycustomer_available
一千零一ABC公司约翰·史密斯555-1234john@abc.com【1001,1002,1007】是的
一千零二XYZ公司无名氏555-5678jane@xyz.com【1001,1002,1007】是的
一千零三阿克梅公司鲍勃·Json555-2468bob@acme.com【1001,1002,1007】不想
一千零四史密斯父子公司玛丽·史密斯555-3698mary@smith.com【1001,1002,1007】不想
一千零五琼斯公司汤姆·琼斯555-7890tom@jones.com【1001,1002,1007】不想

参考号:https://learn.microsoft.com/en-us/azure/data-factory/data-flow-expressions-usage#contains

相关问题