为什么我在水晶报表中的图表中获得了额外的提升器/条

时间:2017-02-09 16:42:30

标签: crystal-reports

所以我的图表看起来像这样: enter image description here

以下是我在图表专家中所拥有的内容: enter image description here

以下是@ZZ_TAT_Name的代码 - A:

if {IB_MESSAGES.MSG_ID} = next({IB_MESSAGES.MSG_ID}) and {IB_MESSAGES.MSG_ID} = previous({IB_MESSAGES.MSG_ID}) then "na" else
IF {@Final Turnaround Minutes} > 0 and {@Final Turnaround Minutes} < 15 THEN "UNDER 15"
ELSE IF {@Final Turnaround Minutes} >= 15 and {@Final Turnaround Minutes} < 30 THEN "BETWEEN 15 & 30"
ELSE IF {@Final Turnaround Minutes} >= 30 and {@Final Turnaround Minutes} < 60 THEN "BETWEEN 30 & 60"
ELSE if {@Final Turnaround Minutes} > 60 then "OVER 60"
//else "*Total Messages"

我想要摆脱显示11的提升者。该提升者是IB_MESSAGES.MSG_ID的总DistinctCount。我怎么能删除这个?为什么会出现这种情况?

1 个答案:

答案 0 :(得分:0)

根据你在下面提到的,似乎22个记录中的11个似乎不属于if-else类别,导致未标记的蓝色列。最简单的方法是在呈现图表之前进行干预,并将传入的数据减少为仅属于其他列的值:

有几种方法可以解决这个问题,但我建议添加一个中间公式,它返回完全相同的记录,但不符合if / else标准的记录将被替换为null。类似的东西:

IF (
    {IB_MESSAGES.MSG_ID} = next({IB_MESSAGES.MSG_ID})
    AND
    {IB_MESSAGES.MSG_ID} = previous({IB_MESSAGES.MSG_ID})
)
OR (
    {@Final Turnaround Minutes} > 0
    AND
    {@Final Turnaround Minutes} > 60
)
THEN
    //repeat the original value here
ELSE
    null

正确完成后,在报告的“详细信息”部分中评估时,中间公式将返回11条记录和11条空值。从这里,您可以更改图表以阅读公式,它应仅评估11个非空值。