0

这是我第一次尝试堆栈溢出,所以希望大家能帮助我。我很乐意在这里开始贡献,过去它是一个非常有用的工具。

好的,所以我正在尝试编写一份报告,以图表显示制造设施的总逾期时间。我所拥有的是一组表格,列出了每个制造订单并给出了截止日期和完成日期。运行报告的人输入一个日期范围,我想生成一个图表,其中 x 轴为日期,y 轴为逾期时间总和。也许我在实现三公式技巧时遗漏了一些东西,但我无法让它发挥作用。我可以按到期日分组,但这只会给我在给定日期过期的订单总数。

我需要的是类似以下的东西,这是可绘制的:

    For each (date in DateRange) {
       If (Due Date < i) && (Comp Date > i) {
          Past Due Hours = Past Due Hours + manufacturing order Hours
       }
    }

我知道它不在 Crystal Syntax 中,我只是想了解一下。有什么帮助吗?

4

1 回答 1

0

这种问题经常出现——如果我理解正确的话。你有这样的东西吗?

OrderNum DueDate  CompletedDate
1        01/01/01 01/02/01
2        01/01/01 01/01/01
3        01/02/01 01/03/01
4        01/02/01 01/02/01

现在您需要做的第一件事是获取一个包含所有日期的表格(还有其他类似的方法),然后加入您的数据集中,这样您最终会得到:

OrderNum DueDate  CompletedDate Date
1        01/01/01 01/02/01      01/01/01
2        01/01/01 01/01/01      01/01/01
3        01/02/01 01/03/01      01/01/01
4        01/02/01 01/02/01      01/01/01
1        01/01/01 01/02/01      01/02/01
2        01/01/01 01/01/01      01/02/01
3        01/02/01 01/03/01      01/02/01
4        01/02/01 01/02/01      01/02/01
1        01/01/01 01/02/01      01/03/01
2        01/01/01 01/01/01      01/03/01
3        01/02/01 01/03/01      01/03/01
4        01/02/01 01/02/01      01/03/01

接下来,您需要添加一个确定订单是否为的字段{@overdue}

if {table.duedate} < {table.date} and {table.completeddate} > {table.date} then 
 1
else 
 0;

确保为空值选择默认值以避免任何异常)。

sum({@overdue})您现在可以创建一个图表{table.date}

大号

于 2012-05-21T18:13:34.307 回答