Crystal报告交叉表日期分组。

时间:2013-01-09 00:51:04

标签: crystal-reports crystal-reports-2008

我使用交叉表控件创建了一个报表,该控件按日期按列对数据进行分组。我想把所有早于当月1日的日期(运行报告时),并将它们和汇总的数据合并到一个名为Previous的列中。

所以不要看到这样的事情:

Oct Nov Dec Jan Feb Mar Apr May Jun Jul

我看到过这样的事情:

Previous Jan Feb Mar Apr May Jun Jul

在CR XI中有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

您必须创建一个公式来执行此操作(或者可能是两个公式一个以正确的顺序获取它们而另一个公式显示正确的字符串):

分组公式:if {table.datefield} < currentdate then '0000' else cStr({table.datefield}, 'yyMM')

显示公式:if {table.datefield} < currentdate then 'Previous' else cStr({table.datefield}, 'MMM')

ADDED SCREENSHOT

enter image description here

enter image description here

答案 1 :(得分:0)

答案实际上是对李的回答的修改。

if {Command.ReqDate} < date(year({?StartDate}),month({?StartDate}),1) then dateadd('m',-1,{?StartDate}) else {Command.ReqDate}

use this to group on in the CT set to monthly
right click on the column header
select Format field,
select common tab
select display string formula
if currentfieldvalue < date(year({?StartDate}),month({?StartDate}),1) then 'previous' 
else totext(currentfieldvalue,'MMM')