我正在尝试使用Lookup Activity返回行数。我能够做到这一点,但是一旦我做到了,我想对它运行一个If语句,如果计数返回的行数超过20MIL,我想执行一条额外的管道以进行进一步的表操作。但是,问题是我无法将返回值与静态整数进行比较。下面是此If语句的当前动态表达式:
@greater(int(活动('COUNT_RL_WK_GRBY_LOOKUP'。输出),20000000)
,并在触发时返回以下错误: { “ errorCode”:“ InvalidTemplate”, “ message”:“使用无效的参数调用了函数'int'。该值无法转换为目标类型”, “ failureType”:“ UserError”, “ target”:“如果Condition1”, “细节”: ”” }
是否可以将此返回值转换为整数以便进行比较?如果没有,是否有可能变通以达到我想要的结果?
答案 0 :(得分:0)
动态问题似乎出在问题所在。请更正与以下类似的动态表达式,然后重试。
如果from PyQt5.QtWidgets import *
def add_widget(layout):
label = QLabel('c')
layout.addWidget(label, 3, 0)
return label
设置为true:firstRowOnly
如果@greater(int(activity('COUNT_RL_WK_GRBY_LOOKUP').output.firstRow.propertyname),20000000)
设置为false:firstRowOnly
查找结果将在活动运行结果的@greater(int(activity('COUNT_RL_WK_GRBY_LOOKUP').output.value[zero based index].propertyname),20000000)
部分中返回。
output
设置为true(默认值)时,输出格式如下代码所示。查找结果在固定的firstRow键下。要在后续活动中使用结果,请使用firstRowOnly
模式。
输出JSON示例代码如下:@{activity('MyLookupActivity').output.firstRow.TableName}
{
"firstRow":
{
"Id": "1",
"TableName" : "Table1"
}
}
设置为false时,输出格式如下代码所示。计数字段指示返回多少记录。详细值显示在固定值数组下。在这种情况下,Lookup活动之后是Foreach活动。您可以使用firstRowOnly
模式将值数组传递到ForEach活动项目字段。要访问值数组中的元素,请使用以下语法:@activity('MyLookupActivity').output.value
。一个示例是@{activity('lookupActivity').output.value[zero based index].propertyname}
。
示例输出JSON代码如下:@{activity('lookupActivity').output.value[0].tablename}
希望这会有所帮助。