在Crystal Reports中动态生成一个月中的所有日期

时间:2010-01-27 06:47:46

标签: crystal-reports

我想在给定月份的每一天运行时显示动态列。

实施例: 如果是1月那么将显示31列。 如果二月那么将显示28列。 如果是三月,那么将显示31列。 如果是四月,那么将显示30列。等等。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您有两个挑战:创建数据并“旋转”它。

大多数数据仓库都包含date-dimension table,您可以查询这些仓库以获取给定月份和年份的所有日期。如果你想要更动态的东西,你可以为此目的调整我的DateRanges()功能。

将行转换为列的下一个挑战。 Crystal Reports的交叉表可以轻松实现这一点,但会牺牲一些灵活性。我通常使用summa-field的Display String公式来进行奇特的格式化。

您还可以创建62个公式字段(31个用于标签,31个用于数据),将它们放在画布上,并根据需要禁用第29个 - 第31个字段。

如果此报告由自定义代码生成(而不是部署在BusinessObjects Enterprise中),则可以使用Crystal Reports SDK动态创建所需的列。