Crystal Report使用函数过滤数据

时间:2015-08-19 06:38:20

标签: filter crystal-reports report sap

我们正在使用CR v14从CSV构建报告。 我们有一个报告显示磁盘列表,其中包含大小,已用大小和自由空间等详细信息。例如:

Size    Used    FreeSpace
299,87  113,69  186,18
79,87   10,82   69,05

此报告的数据源是一个包含1000个以上条目的CSV文件。 目标是生成此报告并仅列出总使用大小等于或大于95%的磁盘。 如果我没错,这里是如何计算的:

Freespace/Size * 100

但我不知道如何在报告中设置/插入它。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以通过两种方式实现,一种来自数据库方面,另一种来自水晶报告:

  1. Crystal Reports中的计算:
  2. Size Used Freespace放在详细设计部分并创建公式@Calculate并写下以下代码:

    Freespace/Size * 100
    

    将公式放在freespace详细信息部分之后。

    现在转到详细信息部分的supress并写下以下代码:

    EvaluateAfter({@Calculate});
    if @Calculate<95
    then true
    else false
    

    2数据库端实现

    编写查询并在该查询中计算计算:

    select Size, Used, Freespace, ((Freespace/Size) * 100) as cal from table
    

    现在在水晶报告中进行此查询并将记录选择公式写为:

    cal>95
    

    现在将所有字段放在水晶报告的设计部分中。

    编辑...............................

    (ToNumber(Freespace)/ToNumber(Size)) * 100