Crystal reports 水晶报表公式语法

Crystal reports 水晶报表公式语法,crystal-reports,Crystal Reports,我有一个报告,我正试图在水晶修改。它有一个数据字段,其中有一个公式,但我想使用另一个公式 这是我正在尝试做的一个例子 [((# 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))] 我为市场租金、开始日期和结束

我有一个报告,我正试图在水晶修改。它有一个数据字段,其中有一个公式,但我想使用另一个公式

这是我正在尝试做的一个例子

[((# 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日。这个公式可以计算出我在空置期间的租金损失。

如果我没有看错你的问题,你可以选择一个日期字段,了解如何计算当月、前一个月和后一个月的天数。这里有一些水晶配方可以帮助你。假设您的日期字段名为
{@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个不同的公式中:
-在第一个公式中,将“0”替换为-1,以获得上个月的天数。
-在第二个公式中,不要改变任何东西。这将获得当前月份(即{@DateFld}所在的月份)的天数
-在第三个公式中,将“0”替换为+1以获得下个月的天数

例如,如果{@DateFld}是2011年3月10日,那么第一个公式会给你28,第二个公式会给你31,第三个公式会给你30