9

我有一个视图,它显示水晶报表上的数据,其中我有关税、租金、股票、毛额和净额等字段。我的问题是,如果有人更改数据库中的关税,它将显示 2 行相同记录的不同关税,这是正常的从数据库的角度来看的行为,但如果相同的 id 具有不同的关税或租金在新记录中重复,我想将每月租金字段抑制为 0。

ID  Tariff  Rental
1    20       390
1    15       390

如果基于 id 重复,我希望报表上的“租赁”字段被抑制。目前我在水晶报表中使用这个公式来检查以前的字段数据并在重复时抑制。

{DatabaseField}=上一个({DatabaseField})

它工作正常,但如果 id 不同并且重复租赁,那么它也会抑制我不想要的。我希望它只抑制相同的 id。

4

4 回答 4

22

您必须将公式写入字段抑制。(如果重复则无需压制)

在租赁场 {ID} = previous({ID}){rental} = previous({rental})

如果 ID 和 Rental 相同,则只有 Report 会抑制 Rental。

我想这对你有用。

于 2012-11-21T12:43:49.227 回答
3
  1. 在 Crystal Reports 中,右键单击 Details 部分并选择 Section Expert。

    1. 在 Section Expert 对话框中,选择 Suppress 命令旁边的 X + 2 按钮。该复选框必须保持未选中状态才能使该公式起作用。
    2. 在“公式编辑器”对话框中,创建一个包含“下一个”函数的条件公式,以评估重复值的记录并隐藏“详细信息”行

    例如:{Table.Databasefield}=Previous({Table.Databasefield})

于 2016-10-13T10:35:41.537 回答
0

我不得不通过添加括号对 Janarthanan 解决方案中的公式进行轻微更改,以使其与 Crystal XI 一起使用。

我用了:

{ID}=previous({ID}) and {rental}=previous({rental})

编辑后的问题中提出的这种格式变化帮助我解决了类似的问题。

于 2013-04-25T21:14:49.333 回答
0

把它放在抑制字段的公式中隐藏。

如果 {myTable.ID} = previous({myTable.ID}) 则为 true 否则为 false

于 2013-06-21T15:49:11.410 回答