如何在水晶报告中显示每年的动态列成本(最多3年)。参数:DateFrom和日期到水晶报告版本:2013
Table:Jobs
+-------+------------+------------+
| 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 |
+-------+------------+------------+
表:Equipment
+-------+-----------+
| 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只。
创建一个公式字段,该字段使用Year()函数仅从Job_Date字段中提取4位数字年份。你喜欢给这个字段起什么名字都行,但我将其命名为"jobyear"。
公式为Year(Job_Date);
。
现在创建第二个Formula Field,使用相同的函数从今天的日期提取4位数字年份。我将这个公式字段命名为"currentyear"。。
这个公式是Year(CurrentDate);
。
现在创建3个Running Total Fields。给它们起个名字,比如今年、去年和两年前。设置所有这三个字段以汇总Total_Cost字段。将重置条件设置为最适合您的报告的任何条件,然后将计算条件设置为使用公式,并对每个公式使用以下公式。
对于ThisYear,公式应为CurrentYear = JobYear;
。
对于LastYear,公式应为CurrentYear - 1 = JobYear;
。
对于TwoYearsAgo,公式应该是CurrentYear - 2 = JobYear;
。
这将允许运行total字段根据作业完成的年份将任何作业的总成本汇总到正确的桶中。