这一定很简单,但我似乎无法找到答案。
我有一个简单的查询:
SELECT InvoiceTotal, InvoiceDate, InvoiceNoUnit from InvoiceLineItem
我想从我的应用程序中显示在Crystal Reports中。我希望能够让用户更改一个参数,而不是构建许多报告,该参数允许根据用户选择的粒度级别按日期对结果报告进行分组。
EG:我希望用户能够选择“按月”,报告按月分组(相应的图表按月显示。然后用户“按周”运行报告,报告更改为分组周。
我希望他们在我的应用中选择此项,并让我将参数传递给CR以更改分组。
有什么建议吗?
答案 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...