是否可以在 Azure 数据工厂表达式中查找特定值的实例?
Is it possible to look for an instance of a particular value in a Azure Data Factory expression?
I return 从 TSQL 过程到 Azure 数据工厂的 JSON 数组。我想知道数组中是否至少有 1 个值等于 true。 JSON 数组包含多个字段和多行。
设置概览:
- 数据工厂查找activity。
- TSQL 过程 returns 2 个或更多
行。
- 数据工厂 IF activity 有条件检查 JSON
return编辑了至少 1 个 x 实例。
虚拟程序:
CREATE PROC dbo.usp_dummyProc
AS
SET NOCOUNT ON;
SELECT 1, 'a', 1
UNION
SELECT 2, 'b', 0
;
数据工厂管道:
我试过了:
@contains(activity('ActivityName').output.value.SqlFieldName, true)
这不出所料地导致了:
The expression
'contains(activity('ActivityName').output.value.SqlFieldName, true)'
cannot be evaluated because property 'SqlFieldName' cannot be
selected. Array elements can only be selected using an integer index.
我看不到可以遍历列表 returned 以检查值的表达式组件。我可以编写另一个过程来处理这个问题,但理想情况下,我不想每次想解决这个问题时都需要这样做。 This is where I looked.
您可以将 activity('ActivityName').output.value 的结果转换为字符串,然后使用 contains()
检查它是否包含 '"SqlFieldName":真的'。类似于以下表达式:@contains(join(activity('ActivityName').output.value,','),'"SqlFieldName":true')
I return 从 TSQL 过程到 Azure 数据工厂的 JSON 数组。我想知道数组中是否至少有 1 个值等于 true。 JSON 数组包含多个字段和多行。
设置概览:
- 数据工厂查找activity。
- TSQL 过程 returns 2 个或更多 行。
- 数据工厂 IF activity 有条件检查 JSON return编辑了至少 1 个 x 实例。
虚拟程序:
CREATE PROC dbo.usp_dummyProc
AS
SET NOCOUNT ON;
SELECT 1, 'a', 1
UNION
SELECT 2, 'b', 0
;
数据工厂管道:
我试过了:
@contains(activity('ActivityName').output.value.SqlFieldName, true)
这不出所料地导致了:
The expression 'contains(activity('ActivityName').output.value.SqlFieldName, true)' cannot be evaluated because property 'SqlFieldName' cannot be selected. Array elements can only be selected using an integer index.
我看不到可以遍历列表 returned 以检查值的表达式组件。我可以编写另一个过程来处理这个问题,但理想情况下,我不想每次想解决这个问题时都需要这样做。 This is where I looked.
您可以将 activity('ActivityName').output.value 的结果转换为字符串,然后使用 contains()
检查它是否包含 '"SqlFieldName":真的'。类似于以下表达式:@contains(join(activity('ActivityName').output.value,','),'"SqlFieldName":true')