首页 > 解决方案 > 寻找解决方案“失踪';' 或在位置 640 处的函数“If”中的右括号。(IES 10063)”在 Webi

问题描述

我正在尝试在 webi 中建立一个维度来查找某人的 65 岁生日,以便为我们的养老金公司附加适当的退休基金标签。

替换没有超过 2 个,所以我尝试使用 If。构建它后,我收到 IES 10063 的错误。我检查了每个部分是否都有一个右括号,并尝试将其分解,但每次都会遇到相同的错误,现在卡住了。请问有人能建议如何解决这个问题吗?

= if([65 birthday]>01/07/2016;if([65 birthday]<30/06/2020;if([65 birthday]>01/07/2020;if([65 birthday]>30/06/2025;if([65 birthday]<01/07/2025;if([65 birthday]>30/06/2030;if([65 birthday]>01/07/2030;if([65 birthday]<30/06/2035;if([65 birthday]>01/07/2035;if([65 birthday]>30/06/2040;if([65 birthday]<01/07/2040;if([65 birthday]>30/06/2045;if([65 birthday]>01/07/2045;if([65 birthday]<30/06/2050;if([65 birthday]>01/07/2050;if([65 birthday]>30/06/2055;if([65 birthday]<01/07/2055;if([65 birthday]>30/06/2060;if([65 birthday]>01/07/2060;if([65 birthday]<30/06/2065;"BE13");"BE23");"BE33");"BE43");"BE53");"BE63");"BE73");"BE83");"BE93");"BE03")

谢谢邓肯

标签: if-statementwebi

解决方案


我确信可以按照您开始使用的格式提出逻辑正确的陈述。但是,我会建议一种更具可读性且因此更易于维护的不同方法。

=if([65 birthday] Between ('07/01/2020'; '06/30/2025'); "EB13";
 if([65 birthday] Between ('07/01/2025'; '06/30/2030'); "EB23";
 if([65 birthday] Between ('07/01/2030'; '06/30/2035'); "EB33";
 if([65 birthday] Between ('07/01/2035'; '06/30/2040'); "EB43";
 if([65 birthday] Between ('07/01/2040'; '06/30/2045'); "EB53";
 if([65 birthday] Between ('07/01/2045'; '06/30/2050'); "EB63";
 if([65 birthday] Between ('07/01/2050'; '06/30/2055'); "EB73";
 if([65 birthday] Between ('07/01/2055'; '06/30/2060'); "EB83";
 if([65 birthday] Between ('07/01/2060'; '06/30/2065'); "EB93"; "EB03")))))))))

现在我可能没有您需要的范围和值。但是,在这种格式中,这些更改可以很容易地进行。

当然,只有在这些标签永远不会改变的情况下,这才会长期有效。如果它们随着时间的推移而改变,你将不得不不断更新这个公式。如果是这样的话,我还有别的建议。它要复杂得多,所以如果没有必要,我不想去那里。


推荐阅读