Crystal Report根据天数抑制列

时间:2014-04-08 05:09:05

标签: datetime crystal-reports suppression

我创建的报告基本上是一个数据透视表(天数作为列),因此必须报告根据相应月份显示列,即28列为2月。

我已经尝试了参数,但没有结果。有人可以帮忙吗?

这是代码

如果{?sDtRange2} = DateValue(2) 那么真的 否则错误

2 个答案:

答案 0 :(得分:0)

为此目的使用交叉表,将按列填充所有日期。

1. In crosstab, go to `crosstab expert`
2. In column part give month first and then date field from database as second column so that your month dates are grouped together.
3. In summary give the field you want to summarize

此解决方案根据您的问题说明进行操作..如果这不是您的问题,请尝试更简要地解释一下,因为您没有提及您想要隐藏的所有列,并且基于condition

答案 1 :(得分:0)

我已经制作了三个公式命名 第29天,第30天和第31天,将它们放在标题部分,而它们的详细信息部分放在详细信息部分,即数据库场。

第29天使用的公式是

datetimevar z:= DateTimeValue({?我的参数}); numberVar y:= year(z)mod 4;

如果y = 0且月(z)= 2则     " 29" 其他 如果y<> 0,则月(z)= 2     "" 其他 如果月(z)<>那么     " 29"

第30天使用的公式是

datetimevar z:= DateTimeValue({?我的参数});

如果月(z)<> 2那么     " 30" 其他     "" 第31天使用的公式 datetimevar z:= DatetimeValue({?我的参数});

if(month(z)= 1或month(z)= 3或month(z)= 5或month(z)= 7或month(z)= 8或month(z)= 10或month(z )= 12)然后     " 31" 其他     "" 和分别 把这个公式放在他们的数据库中。

对于第29天的db feild in report in details section

如果{@Day 29} =" 29" 那么真的 否则错误

对于第30天的db feild in report in details section

如果{@Day 30} =" 30" 那么真的 否则错误

对于第31天的db feild in report in details section

如果{@Day 31} =" 31" 那么真的 否则错误

非常感谢