Показать данные из квартальных отчетов в одной строке - PullRequest
0 голосов
/ 25 января 2011

Данные о продажах за каждый квартал содержатся в строке в источнике данных.

Данные о 4 кварталах продаж в учетной записи 1 будут представлены в 4 отдельных записях, каждая из которых содержит имя учетной записи, номер квартала и количество приобретенных товаров.

В каждом подробном отчете должны быть указаны: имя учетной записи, счет q1, счет q2, счет q3, счет q4, общее количество года.

Я новичок в Crystal, но похоже, что это должно быть легко; как бы я это сделал?

Ответы [ 3 ]

0 голосов
/ 26 января 2011

Если в вашем источнике данных указана дата продажи (и я предполагаю, что так будет), вы можете создать формулу под названием @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 в качестве заголовка столбца кросс-таблицы.

Предполагается, что все ваши продажи в течение одного года.

0 голосов
/ 27 января 2011

Добавить группу в {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}
0 голосов
/ 25 января 2011

Я бы, вероятно, создал список результатов, используя несколько сложный 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 ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...