Crystal reports 在Crystal报表中按年、月、周、日动态分组

Crystal reports 在Crystal报表中按年、月、周、日动态分组,crystal-reports,Crystal Reports,这一定很简单,但我似乎找不到答案 我有一个简单的问题: SELECT InvoiceTotal, InvoiceDate, InvoiceNoUnit from InvoiceLineItem 我想在我的应用程序的Crystal Reports中显示。我希望能够让用户更改一个参数,允许根据用户选择的粒度级别按日期对生成的报告进行分组,而不是构建许多报告 例如:我希望用户能够选择“按月”并按月分组报告(按月显示相应的图表)。然后用户运行“按周”报告,报告更改为“按周分组” 我希望他们在我的应用程

这一定很简单,但我似乎找不到答案

我有一个简单的问题:

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

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

我希望他们在我的应用程序中选择此选项,并让我向CR传递一个参数以更改分组


有什么建议吗?

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

在此基础上,您可以创建一个公式,根据上述参数指定分组,然后在报表中创建一个分组,该分组使用此公式进行分组

我手头没有Crystal报告,但公式可能看起来像这样:

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...