2008-08-12 12 views
2

Я пытаюсь написать Crystal Report, который имеет итоговые значения, сгруппированные по-разному с основным отчетом. Единственный способ, которым я смог это сделать до сих пор, - использовать подрепортаж для итогов, но это означает, что нужно снова ударить по источнику данных, чтобы получить те же данные, что кажется бессмысленным. Вот упрощенный пример:Есть ли способ утилизации набора данных Crystal Reports?

 date name earnings source   location 
----------------------------------------------------------- 
12-AUG-2008 Tom  $50.00 washing cars uptown 
12-AUG-2008 Dick $100.00 washing cars downtown  { main report } 
12-AUG-2008 Harry $75.00 mowing lawns around town 

        total earnings for washing cars: $150.00 { subreport } 
        total earnings for mowing lawns: $75.00 

     date name earnings source   location 
----------------------------------------------------------- 
13-AUG-2008 John  $95.00 dog walking  downtown 
13-AUG-2008 Jane $105.00 washing cars around town { main report } 
13-AUG-2008 Dave  $65.00 mowing lawns around town 

        total earnings for dog walking: $95.00 
        total earnings for washing cars: $105.00 { subreport } 
        total earnings for mowing lawns: $65.00 

В этом примере основной отчет сгруппирован по «дате», но итоговые суммы сгруппированы дополнительно «источник». Я искал примеры использования текущих итогов, но они действительно не делают то, что мне нужно. Не существует ли какой-либо способ хранения результирующего набора и имеет ли как основной отчет, так и справочную информацию о подчинении одни и те же данные?

ответ

1

Хмм ... так приятно, как вызывать хранимую процедуру из отчета и содержать все это в одном месте, однако мы нашли (как вы), что вы в конечном итоге попали в точку, где вы не можете получить кристалл делать то, что вы хотите, даже данные находятся прямо там.

В результате мы создали бизнес-уровень, который находится под отчет, а не «вытягивая» данные из отчета, который мы «нажимаем» на него наборы данных и привязываем данные к отчету. Преимущество состоит в том, что вы можете манипулировать данными в коде в наборах данных или объектах до того, как он достигнет отчета, а затем просто привязать данные к отчету.

This article имеет хорошее представление о том, как настроить тонирование данных в отчеты. Я понимаю, что ваши ограничения времени/бизнеса могут не позволить вам сделать это, но если это вообще возможно, я бы очень рекомендовал его, поскольку это означает, что мы можем удалить все «кодирование» из наших отчетов и в управляемый код, который всегда хорошая вещь.

1

Единственный способ, которым я могу думать об этом без второго прогона данных, - это создать некоторые формулы для выполнения итоговых итогов для каждой группы. Проблема, которую я предполагаю, что вы работаете с существующими текущими итогами, заключается в том, что они предназначены для отслеживания каждой из групп, которые они суммируют. Поскольку вы, похоже, хотите, чтобы промежуточные итоги соответствовали всем «сырым» данным, это не сработает.

Если вы создаете свои собственные формулы для каждой группы, которые просто добавляются к общей сумме из тех строк, которые соответствуют группе, вы можете разместить их в конце отчета. Недостатком этого подхода является то, что полученные промежуточные итоги не будут динамическими по отношению к группам. Другими словами, если бы у вас был новый «источник», он не появлялся на промежуточных итогах, пока вы не добавили его, или если у вас не было данных о собачьей ходьбе, у вас все равно будет промежуточный итог.

 Смежные вопросы

  • Нет связанных вопросов^_^