调查123 -需要帮助将多个计算连接到一行

1173
5
06-23-2021 09:44 am
SArcher
通过
新贡献者III

我试图创建一个“笔记/隐藏”字段称为“报告”,将组合或连接多个输入/计算,如果选择或为真。

我不确定我是否/在哪里需要“如果”,“如果选定”,“选定”,“和”或“语句”。有时表单错误返回缺少括号,有时我需要另一个参数。我尝试了各种组合,并测试了单独的计算行,它是好的,它的组合,我仍然不能得到它的权利。如果可以的话,我还想试着简化/浓缩这一团乱麻。

如果这是真的:

$ {route_id},如果选择($ {select_format},“Excel”),“xls”,”)

如果是这样:

$ {station_id}, concat ($ {station_id},“统计”),如果选择($ {select_format},“Excel”),“xls”,”)

如果是这样:

${拥堵},concat(${拥堵},“反对”),如果选择($ {select_format},“Excel”),“xls”,“),如果($ {request_year})

注意:根据Route id, Station id,拥塞是否为true(只能选择一个),选择Excel格式的选项将全部可用。站点id和拥塞将有一个concat(分别是stat和con)。只有拥塞将有一个选项输入年。

0荣誉
5回复
DougBrowning
通过 MVP荣誉贡献者
MVP荣誉贡献者

我将创建一个字段,并使用if来选择正确的id。这样,id总是在同一个字段中。不确定这对你的心流是否有效。你也可以只让一个用户输入ID字段。

if(${select_report} = "Route_ID", ${Route_ID}, if(${select_report} = "Station_ID", concat(${Station_ID}, ' stat'), if(${select_report} = "拥塞",concat(${拥塞},' con'), "Nothing Selected")))

希望这能有所帮助

0荣誉
SArcher
通过
新贡献者III

太好了!谢谢!

我如何结合if(${select_format} = "Excel", concat(${select_report}, ' xls')如果(${request_year})到同一行?我试着用你的公式把它们相加,但是出错了。最终,Report行应该是这样的:

前女友。

如果选择“拥塞”:XYZ con

或者如果选择“拥塞”和“格式”:XYZ con xls

或者如果选择“拥塞”和“格式”和“年份”:XYZ con xls 2021

0荣誉
DougBrowning
通过 MVP荣誉贡献者
MVP荣誉贡献者

我将把excel问题改为select_one。

我一直在想有一个更简单的方法但是如果你想要空格,我认为你必须把它写出来。

If (string-length(${select_format}) > 0 and string-length(${request_year}) > 0, ${finalid} + " " + "xls" + string(${request_year}), If (string-length(${select_format}) > 0, ${finalid} + " " + "xls", If (string-length(${request_year}) > 0, ${finalid} + " " + string(${request_year}), ${finalid})))

0荣誉
SArcher
通过
新贡献者III

谢谢!事实上,你的第一个公式很管用。它在一行上,我稍微调整了一下,如下所示,因为我需要在某个地方留出空格,并想添加格式和年份:

if ($ {select_report} = " Route_ID ", $ {Route_ID}, if ($ {select_report} =“Station_ID concat ($ {Station_ID},“统计”),
if ($ {select_report} =“拥堵”,concat(${拥堵},“反对”),' 0 ')))+ ($ {select_format}的xls ', ' ') + ${ request_year}

然而,尽管在123 Connect预览版中可以正常工作,但在线则是另一个问题。我在一行中得到一个NaN(不是一个数字)错误。我查了一下,我认为它与“+”有关,值不能为空。因此,你可能会做“问题- length(${})”。但这仍然令人困惑。

你知道我得到的错误/如何解决它吗?

0荣誉
codergrl
通过
新贡献者III

我喜欢将每个if语句分离到单独的计算中。这样就更容易记住括号了。计算不会显示在表单中,如果你将esriFieldType设置为null,它们也不会显示在特性类中。

0荣誉