我正在尝试将 dataverse 中的数据与 Excel 文件进行比较,以查看 dataverse 行是否需要更新。
我对 dataverse 中的每个项目使用 compose,并结合使用 compose、json 解析和 select 来创建两个输出值,我可以比较它们是否匹配。我必须这样做,因为据我所知,逻辑应用程序没有比较数据的合理方法。
输出按预期工作,唯一的问题是 dataverse 中没有值的字段显示为“name”:“null”,而没有值的 Excel 数据显示为“name”:“”,这导致我进行比较失败。
是否可以轻松地将所有“null”或“”替换为“”或“null”?
Dataverse“输出”示例
[
{
"name": "john"
"last": "doe"
"address": "null"
}
]
Excel“输出”示例
[
{
"name": "john"
"last": "doe"
"address": ""
}
]
实际数据有更多的字段,所以我更愿意以某种方式查看整个“输出”并匹配任何“”或“null”并将其替换为某些内容,而不是逐一遍历每个可能的字段一个。
最佳答案
我找到了一个“解决方案”。
if(empty(items('myAction')?['myActionField']), '', items('myAction')?['myActionField'])
这会检查该字段是否为空。如果其为空,则分配值“”,从而创建一个(空)字符串类型字段。如果不为空,则应用原始值。
缺点是这不可能非常有效,并且您必须对每个字段执行此操作,因此如果您有很多字段,则需要花费大量时间。就我而言,我“仅”有 30 个左右,所以它仍然在某种程度上是可以管理的。
更好的方法是,如果您可以循环遍历“值”数组并一次性删除/转换所有空值。或者创建一个映射来告诉逻辑应用字段的字段类型。但我不知道这是否可能。
关于azure-logic-apps - 逻辑应用将 "null"替换为 "",反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69909822/