有没有办法只显示Crystal Report中不符合指定条件的第一条记录?

时间:2016-07-01 16:25:14

标签: crystal-reports

假设我在Crystal Report中将数据格式化如下:

Job: 1

Asm      Opr      LbrQty
0        10       0.0
0        10       60.0
0        10       60.0
0        20       65.0
0        30       0.0
0        30       20.0
0        30       40.0

Job: 2

Asm      Opr      LbrQty
0        10       60.0
0        10       60.0
0        10       75.0
0        20       0.0
0        20       165.0
0        30       0.0
0        30       20.0
0        30       40.0
0        40       60.0
1        10       60.0
1        10       60.0
1        10       75.0
1        20       0.0
1        20       165.0
1        30       0.0
1        30       20.0
1        40       0.0
1        40       60.0

我只希望报告在一个Asm中显示第一个Opr,其中LbrQty不为零,如下所示:

Job: 1

Asm      Opr      LbrQty
0        10       60.0
0        20       65.0
0        30       20.0

Job: 2

Asm      Opr      LbrQty
0        10       60.0
0        20       165.0
0        30       20.0
0        40       60.0
1        10       60.0
1        20       165.0
1        30       20.0
1        40       60.0

我尝试使用以下内容作为我的抑制公式,它在大多数情况下都有效,但仍偶尔显示具有相同Opr的多个记录:

(
    Previous ({OprSeq}) = ({OprSeq}) and
    Previous ({JobNum}) = ({JobNum}) and
    Previous ({LaborQty}) <> 0
) or

(
    ({LaborQty}) = 0
)

如何更改公式以向我提供我需要的行为?

1 个答案:

答案 0 :(得分:0)

尝试以下方式:

使用以下条件创建运行总计:

  1. 在字段中总结一下lbrqty并将count作为摘要选项

  2. 在评估使用选项formula中,并在下面写下代码:

    {lbrqty}大于0

  3. 在重置使用选项On change of field opr

  4. 现在使用这个运行总计来压制..现在在下面的部分写下代码:

    if {#RTotal1}=1
    then false
    else true