Crystal reports 每个月显示12列,但月份值取决于用户选择的月份

Crystal reports 每个月显示12列,但月份值取决于用户选择的月份,crystal-reports,report,crystal-reports-2010,dynamic-columns,Crystal Reports,Report,Crystal Reports 2010,Dynamic Columns,使用VS2010的Crystal Reports。 我对独立CR有以下要求: 从指定的开始日期开始,从表中检索未来12个月的所有销售记录。StartDate是报表使用和用户选择的参数 各栏如下: Month1是起始日期的月份,其后是连续月份 Column1 Column2 Month1 Month2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 例如:如果起始日期为2013年5月1日(2013年5月),则列应为: Column1 C

使用VS2010的Crystal Reports。

我对独立CR有以下要求:

从指定的开始日期开始,从表中检索未来12个月的所有销售记录。StartDate是报表使用和用户选择的参数

各栏如下: Month1是起始日期的月份,其后是连续月份

Column1     Column2      Month1 Month2 M3  M4  M5  M6  M7  M8  M9  M10 M11  M12
例如:如果起始日期为2013年5月1日(2013年5月),则列应为:

Column1     Column2      May13 Jun13 Jul13  Aug13  Sep13  Oct13  Nov13  Dec13  Jan14  Feb14 Mar14  Apr14
如果有人能给我指点链接或给出一些如何实现这一点的指导,我将不胜感激

更新:

我已经使用公式实现了动态列标题

ToText(DateAdd('m', 1, {?StartDate}), 'MMM yy')
我一直在想一个公式来获得细节部分的数据值。
如果字段名为{Sales.Extension},则如何仅计算当月的扩展总和。

使用交叉表;将销售日期添加到列区域;按月分组。将要汇总的值添加到行区域

记录选择公式:

{table.sales_date} IN {?StartDate} TO DateAdd("m", 12, {?StartDate})

就我所理解的问题而言,您可以使用以下解决方案

  • 创建一个公式,写下下面的代码,放在细节部分

    如果ToText(DateAdd('m',1,{?StartDate}),'MMM yy')=ToText(DateAdd('m',1,),'MMM yy'))
    然后{Sales.Extension}

  • 为报告中的所有列编写上述公式


    如果您需要摘要,请获取详细信息部分中字段的摘要。

    谢谢Craig。我采取了不同的方法。对于标题,我添加了这样的公式“ToText(DateAdd('m',1,{?StartDate}),'mmmyy'),给我接下来的12个月。我被困在实际的细节部分数据上。如果字段名为扩展名,如何获取每个月的扩展名之和?该月的
    仅表示用户在参数中选择的月份?而不是显示在详细信息部分的其余月份。否。很抱歉对于该月,指相应的月份栏。每个月一个值(12列)。图例。我就是这么做的。我本想自己回答我的问题,但感谢你的回答。