英文:
How to check if the value of the column is in array list- Azure data factory?
问题
我想检查在参数中的客户 ID。
这是我的示例数据。
客户 ID,客户名称,联系人,电话号码,电子邮件地址
1001,ABC 公司,约翰·史密斯,555-1234,john@abc.com
1002,XYZ 公司,简·多,555-5678,jane@xyz.com
1003,Acme 公司,鲍勃·约翰逊,555-2468,bob@acme.com
1004,史密斯和儿子,玛丽·史密斯,555-3698,mary@smith.com
1005,琼斯公司,汤姆·琼斯,555-7890,tom@jones.com
我有一个数组列表,它作为参数传递给数据流。我将其与上述数据一起添加为新列。添加后,我的数据如下所示。
客户 ID,客户名称,联系人,电话号码,电子邮件地址,客户利润数组
1001,ABC 公司,约翰·史密斯,555-1234,john@abc.com,[1001,1002,1007]
1002,XYZ 公司,简·多,555-5678,jane@xyz.com,[1001,1002,1007]
1003,Acme 公司,鲍勃·约翰逊,555-2468,bob@acme.com,[1001,1002,1007]
1004,史密斯和儿子,玛丽·史密斯,555-3698,mary@smith.com,[1001,1002,1007]
1005,琼斯公司,汤姆·琼斯,555-7890,tom@jones.com,[1001,1002,1007]
现在,我想在该数组中的客户 ID 可用时显示 是
。在上面的示例中,第一行和第二行应显示 是
,其他行应显示值 否
。
我尝试为该列提供表达式,即 iif({Customer ID} in $Customer_profit_array, 'Yes','No')
。但这不是一个有效的表达式。如何解决这个问题?
英文:
I wanted to check the customer Ids which are in the parameters.
This is my sample data.
Customer ID,Customer Name,Contact Person,Phone Number,Email Address
1001,ABC Inc.,John Smith,555-1234,john@abc.com
1002,XYZ Corp.,Jane Doe,555-5678,jane@xyz.com
1003,Acme Co.,Bob Johnson,555-2468,bob@acme.com
1004,Smith & Sons,Mary Smith,555-3698,mary@smith.com
1005,Jones Inc.,Tom Jones,555-7890,tom@jones.com
I have an array list and it is passed as a parameter to data flow. I added this as a new column along with the above data. After adding my data looks like this.
Customer ID,Customer Name,Contact Person,Phone Number,Email Address, Customer_profit_array
1001,ABC Inc.,John Smith,555-1234,john@abc.com,[1001,1002,1007]
1002,XYZ Corp.,Jane Doe,555-5678,jane@xyz.com,[1001,1002,1007]
1003,Acme Co.,Bob Johnson,555-2468,bob@acme.com,[1001,1002,1007]
1004,Smith & Sons,Mary Smith,555-3698,mary@smith.com,[1001,1002,1007]
1005,Jones Inc.,Tom Jones,555-7890,tom@jones.com,[1001,1002,1007]
Now, I want to display yes
whenever customer id is available in that array. In the above example row1 and row2 should have yes
and others should have value as no
.
I tried giving expression for that column as iif({Customer ID} in $Customer_profit_array, 'Yes','No')
. But this is not a valid expression. How to solve this?
答案1
得分: 0
To check if the data is in array, you can use contain
function in dataflow.
Syntax:
contains(<value1> : array, <value2> : unaryfunction)
The result of contains function will be of Boolean type.
- Give the expression for new column as,
iif(contains({ Customer_profit_array},#item=={Customer ID}),'Yes','No')
.
This expression checks if customer id
is in Customer_profit_array
column.
Output
Customer ID | Customer Name | Contact Person | Phone Number | Email Address | Customer_profit_array | customer_available |
---|---|---|---|---|---|---|
1001 | ABC Inc. | John Smith | 555-1234 | john@abc.com | [1001,1002,1007] | Yes |
1002 | XYZ Corp. | Jane Doe | 555-5678 | jane@xyz.com | [1001,1002,1007] | Yes |
1003 | Acme Co. | Bob Johnson | 555-2468 | bob@acme.com | [1001,1002,1007] | No |
1004 | Smith & Sons | Mary Smith | 555-3698 | mary@smith.com | [1001,1002,1007] | No |
1005 | Jones Inc. | Tom Jones | 555-7890 | tom@jones.com | [1001,1002,1007] | No |
Reference: https://learn.microsoft.com/en-us/azure/data-factory/data-flow-expressions-usage#contains
英文:
To check if the data is in array, you can use contain
function in dataflow.
Syntax:
contains(<value1> : array, <value2> : unaryfunction)
The result of contains function will be of Boolean type.
- Give the expression for new column as,
iif(contains({ Customer_profit_array},#item=={Customer ID}),'Yes','No')
.
This expression checks if customer id
is in Customer_profit_array
column.
Output
Customer ID | Customer Name | Contact Person | Phone Number | Email Address | Customer_profit_array | customer_available |
---|---|---|---|---|---|---|
1001 | ABC Inc. | John Smith | 555-1234 | john@abc.com | [1001,1002,1007] | Yes |
1002 | XYZ Corp. | Jane Doe | 555-5678 | jane@xyz.com | [1001,1002,1007] | Yes |
1003 | Acme Co. | Bob Johnson | 555-2468 | bob@acme.com | [1001,1002,1007] | No |
1004 | Smith & Sons | Mary Smith | 555-3698 | mary@smith.com | [1001,1002,1007] | No |
1005 | Jones Inc. | Tom Jones | 555-7890 | tom@jones.com | [1001,1002,1007] | No |
Reference: https://learn.microsoft.com/en-us/azure/data-factory/data-flow-expressions-usage#contains
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论