0

我的报告为这些工作提取工作和分包合同。我使用分包合同起始日期的参数作为?BegDate 和?EndDate 进行过滤。这工作得很好,直到......然后我需要过滤结果以仅包括从 10000 到 19900 和 50000 到 59000 的作业,作业是一个字符串字段,但其中的数据看起来像这样“10000-”注意破折号在数字的末尾,我必须包括那个破折号,否则过滤器不起作用,但这不是问题。无论如何,如果我只过滤日期范围和工作范围之一,一切都很好。当我添加第二个工作范围过滤器时,它会破坏日期范围过滤器。

这是我的过滤器:

这有效:

{JCJM.Job} in "10000-" to "19000-" and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}

这会破坏日期过滤器(结果完全忽略日期过滤器):

{JCJM.Job} in "10000-" to "19000-" or
{JCJM.Job} in "50000-" to "59000-" and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}
4

1 回答 1

1

所以我从我的教练那里得到了答案,这是给其他人的:

记录选择公式中的“或”运算符和“与”运算符之间存在优先顺序问题。

通常,您需要将作业范围(和“或”运算符)括在括号中。但是,当您使用“范围内”运算符时,您可以通过将值括在方括号中来组合两组或多组范围。这取代了工作范围之间的“或”运算符的需要,如下所示:

{JCJM.Job} in ["10000-" to "19000-", "50000-" to "59000-"]
and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}
于 2018-09-27T16:36:56.480 回答