Crystal Reports中按年,月,周,日动态分组

时间:2010-11-26 10:39:31

标签: crystal-reports

这一定很简单,但我似乎无法找到答案。

我有一个简单的查询:

SELECT InvoiceTotal, InvoiceDate, InvoiceNoUnit from InvoiceLineItem

我想从我的应用程序中显示在Crystal Reports中。我希望能够让用户更改一个参数,而不是构建许多报告,该参数允许根据用户选择的粒度级别按日期对结果报告进行分组。

EG:我希望用户能够选择“按月”,报告按月分组(相应的图表按月显示。然后用户“按周”运行报告,报告更改为分组周。

我希望他们在我的应用中选择此项,并让我将参数传递给CR以更改分组。

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您可以创建一个参数,用户可以选择“年”,“月”,“日”等。

从那里,您可以创建一个公式,根据上面的参数指定分组,然后在报表中创建一个使用此公式进行分组的分组。

我没有方便的Crystal Reports,但公式看起来像这样:

IF @UserDefinedGrouping = "Year" THEN
    DATEPART(yyyy, {Table.InvoiceDate})
ELSEIF @UserDefinedGrouping = "Month" THEN
    DATEPART(m, {Table.InvoiceDate})
ELSEIF @UserDefinedGrouping = "Quarter" THEN
    DATEPART(q, {Table.InvoiceDate})
' etc...