0

如何在 Crystal 报表的动态列(最多 3 年)中显示每年的成本。参数:日期和日期 水晶报表版本:2013

表:工作

+-------+------------+------------+
| EQ_no |  Job_Date  | Total_Cost |
+-------+------------+------------+
|  1006 | 01/30/2017 |        250 |
|  1006 | 01/31/2018 |        350 |
|  1006 | 01/01/2019 |        150 |
|  1006 | 02/01/2019 |        322 |
|  1006 | 05/05/2019 |        450 |
|  1006 | 02/02/2020 |        500 |
|  1006 | 02/03/2021 |       1212 |
| 29198 | 02/04/2017 |       3000 |
| 29198 | 02/05/2018 |        250 |
+-------+------------+------------+

表:设备

+-------+-----------+
| EQ_no | Serial no |
+-------+-----------+
| 1006  | MDRSC12   |
| 29198 | FDRSC13   |
|  6218 | REAFC14   |
+-------+-----------+

结果

+-------+-----------+------+------+------+
| EQ_no | Serial no | 2018 | 2019 | 2020 |
+-------+-----------+------+------+------+
|  1006 | MDRSC12   |  350 |  922 |  500 |
| 29198 | FDRSC13   |  250 |    0 |    0 |
|  6218 | REAFC14   |    0 |    0 |    0 |
+-------+-----------+------+------+------+

如果日期为 2018 年 1 月 1 日至 2020 年 6 月 1 日,则显示每年 2018、2019 和 2020 年的总成本。
如果日期为 2020 年 1 月 1 日至 2021 年 6 月 1 日,则显示每年 2020 年和 2021 年的总成本只要。

4

1 回答 1

0

创建一个公式字段,该字段使用 Year() 函数从 Job_Date 字段中仅提取 4 位数字年份。将此字段命名为您喜欢的任何名称,但我将在此答案中将其称为“JobYear”。

公式将是Year(Job_Date);

现在创建第二个公式字段,它使用相同的函数从今天的日期中提取 4 位数字年份。以后我将把这个公式字段称为“CurrentYear”。

这个公式将是Year(CurrentDate);

现在创建 3 个运行总计字段。将它们命名为 ThisYear、LastYear 和 TwoYearsAgo 之类的名称。设置所有这三个字段以汇总 Total_Cost 字段。将重置条件设置为最适合您的报告的条件,然后将评估条件设置为使用公式并为每个公式使用以下公式。

对于 ThisYear,公式应该是CurrentYear = JobYear;

对于 LastYear,公式应该是CurrentYear - 1 = JobYear;.

对于 TwoYearsAgo,公式应该是CurrentYear - 2 = JobYear;.

这将允许运行总计字段根据作业完成的年份将任何作业的总成本汇总到正确的存储桶中。

于 2021-08-11T19:06:32.640 回答