0

每个季度的销售数据都包含在数据源的一行中。

帐户 1 的 4 个季度的销售数据将位于 4 条单独的记录中,每条记录都包含帐户名称、季度编号和所购商品的数量。

报告应在每个详细信息行中显示:帐户名称、q1 计数、q2 计数、q3 计数、q4 计数、总年份计数。

我是 Crystal 的新手,但看起来这应该很容易;我该怎么做?

4

3 回答 3

0

在 {account} 上添加一个组 在组页脚中为每个季度添加一个运行总计。

For each quarter, create a running total with following settings:

  Running Total Name: create a unique name for each formula, for example Q1,Q2,Q3,Q4
  Field to summarize: {items purchased}
  Type of summary: sum
  Evaluate: Use a formula - {quarter number}= --should be 1,2,3, or 4, depending on which quarter you are summing
  Reset: On Change of Group {account}
于 2011-01-27T13:56:56.147 回答
0

如果您的数据源中包含销售日期(我假设会),您可以创建一个名为 的公式@SalesQuarter

if month({TableName.SalesQuarter}) in [1,2,3] then '1' else
if month({TableName.SalesQuarter}) in [4,5,6] then '2' else
if month({TableName.SalesQuarter}) in [7,8,9] then '3'
else '4' 

然后,您可以将交叉表添加到报表中,并将新@SalesQuarter字段用作交​​叉表的列标题。

这假设您的销售额都在同一年内。

于 2011-01-25T22:59:36.470 回答
0

我可能会使用一些稍微复杂的 sql 创建结果列表,它们只是将其显示在 Crystal 报告上……但如果您想完全在 Crystal 内部完成此操作,请查看http://aspalliance.com/ 1041_Creating_a_Crosstab_Report_in_Visual_Studio_2005_Using_Crystal_Reports.all

这是对需要的 SQL 的刺探......

select
accountName, 
(select sum(itemCount) from myTable where quarterName = 'q1') as q1Count, 
(select sum(itemCount) from myTable where quarterName = 'q2') as q2Count, 
(select sum(itemCount) from myTable where quarterName = 'q3') as q3Count, 
(select sum(itemCount) from myTable where quarterName = 'q4') as q4Count, 
(select sum(itemCount) from myTable) as yearCount
from myTable  
group by accountName ;
于 2011-01-25T15:32:09.470 回答