我正在尝试在Crystal中修改报告。它有一个数据字段,其中包含一个公式,但我想使用另一个公式。
这是我想要做的一个例子。
[((# Days in January) – 15) x (Market Rent/(# Days in January))]
+ [((# Days in February) – 0) x (Market Rent/(# Days in February))]
+ [14 x (Market Rent/(# Days in March))]
我有针对市场租金建立的ADO命令,以及开始日期和结束日期。我的例子中的几个月只是一个例子。我不确定如何在过滤器页面上输入我输入的ADO命令日期,并将它们放在如上所示的公式中。有什么想法吗?
此外,在第一段和最后一段。 -15和14是月中的日期。因此,如果开始日期是1月15日,结束日期是3月15日。这个公式将计算我在空缺期间的租金损失。
答案 0 :(得分:0)
如果我正确地阅读了您的问题,您想要获取日期字段,并了解如何衡量该月,之前一个月以及之后一个月的天数。这里有一些Crystal公式可以帮到你。我们假设您的日期字段名为{@DateFld}
:
要查找特定月份相对于特定日期的天数,请尝试以下操作:
local datevar X:=cdate(dateadd("m",0,{@DateFld}));
datediff(
"d",
date(year(X),month(X),1),
date(year(X),month(X)+1,1)
)
我建议你复制&将其粘贴在3种不同的公式中:
- 在第1个公式中,将“0”替换为-1以获取上个月的天数
- 在第二个公式中,不要改变任何东西。这将获得当月的天数(即{@DateFld}所在的月份)
- 在第3个公式中,将“0”替换为+1以获取下个月的天数。
例如,如果{@DateFld}是2011年3月10日,那么第一个公式将给你28,第二个公式将给你31,第三个给你30。