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

时间:2014-01-12 22:18:46

标签: crystal-reports report crystal-reports-2010 dynamic-columns

使用Crystal Reports for VS2010。

我对独立CR有以下要求:

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

列如下: Month1是StartDate的月份,后面是连续几个月。

Column1     Column2      Month1 Month2 M3  M4  M5  M6  M7  M8  M9  M10 M11  M12

例如:如果StartDate是01/05/2013(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},如何仅计算该月的扩展总和。

2 个答案:

答案 0 :(得分:1)

我理解您可以在解决方案下使用的问题。

  1. 创建公式并在下面写下代码并放置在详细信息部分。

    If ToText(DateAdd('m', 1, {?StartDate}), 'MMM yy')= ToText(DateAdd('m', 1, <<Database Field>>), 'MMM yy') Then {Sales.Extension}

  2. 为报告中的所有列编写上述公式。

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

答案 1 :(得分:0)

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

记录选择公式:

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