Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement Azure logic apps Odata筛选器查询,两列上都有if语句_If Statement_Get_Odata_Azure Logic Apps_Azure Tablequery - Fatal编程技术网

If statement Azure logic apps Odata筛选器查询,两列上都有if语句

If statement Azure logic apps Odata筛选器查询,两列上都有if语句,if-statement,get,odata,azure-logic-apps,azure-tablequery,If Statement,Get,Odata,Azure Logic Apps,Azure Tablequery,早上好 我有一个独特的要求,我必须根据一个条件对Azure表中的“获取实体”应用过滤器,过滤器来自HTTP Get请求 有两个过滤器-a和b 如果传递到流的两个过滤器都为空,则不应用任何过滤器。 如果其中一个筛选器不是空的,则必须对该列应用筛选器。 如果两个筛选器都不是空的,则必须在两列上应用筛选器 是否可以在ODATA筛选器查询中应用If语句? 我似乎找不到一个好的答案。对于这个需求,我们可以在logic app中使用“”来实现它。这不是一个聪明的解决方案,但它是有效的 首先,我使用两个变量来

早上好

我有一个独特的要求,我必须根据一个条件对Azure表中的“获取实体”应用过滤器,过滤器来自HTTP Get请求

有两个过滤器-a和b

如果传递到流的两个过滤器都为空,则不应用任何过滤器。 如果其中一个筛选器不是空的,则必须对该列应用筛选器。 如果两个筛选器都不是空的,则必须在两列上应用筛选器

是否可以在ODATA筛选器查询中应用If语句?
我似乎找不到一个好的答案。

对于这个需求,我们可以在logic app中使用“”来实现它。这不是一个聪明的解决方案,但它是有效的

首先,我使用两个变量来模拟http请求中的两个过滤器

然后使用另一个变量存储结果过滤器

现在添加一个“条件”来判断
filter1
是否不等于“空”

如果为true,则添加另一个条件“条件2”以判断
filter2
是否不等于“空”,并设置
filterResult
的值

如果为false,还应添加另一个条件“条件3”,以判断
filter2
是否不等于“empty”,并设置
filterResult
的值。注意:在“设置变量4”中使用表达式
string(“”)
,否则将不允许我们保存逻辑应用程序

之后,我们可以在“获取实体”中使用
filterResult
。下面屏幕截图中的表达式是
trim(变量('filterResult'))


是否可以在Get Filter查询中使用Odata在Get Entities操作中实现此逻辑?谢谢你的支持help@rados233您可以通过一个长表达式来实现它:
if(等于(变量('filter1'),“”),if(等于(变量('filter2'),“”),“”,变量('filter2')),if(等于(变量('filter2'),“”),变量('filter1'),concat(变量('filter1'),'and',变量('filter2')))
在“获取实体”中过滤查询。@rados233如果对您的问题有帮助,请(单击我的答案旁边的复选标记,将其从灰色变为填充)。提前谢谢。