В Crystal Reports можно ли группировать по двум таблицам, которые являются много-к-одному с верхней группой?

#crystal-reports

#crystal-отчеты

Вопрос:

Я работаю над отчетом Crystal Report, который сначала разбивает данные по идентификатору поступления, а затем мне нужны две группы по идентификатору поступления, но которые не связаны друг с другом.

Итак, вместо трех уровней группировки мне нужно каким-то образом иметь только два уровня, например, следующие:

 Group: Receipt_ID
    Group: Receipt_Detail.Line_Number
    Group: Receipt_Deduction.Description
  

Вот пример того, как это должно выглядеть:

 Receipt ID    Line Number    Weight  Dollar Amount
091911001
                   1         17,640  $2116.80
                   2         16,860  $1180.20
                   3         17,200  $1204.00

            MAC Peeler Rate  17,640   0.0027
            MAC Juicer Rate  34,060   0.0011

091911007
                   1         40,000  $10050.00
                   2         13,500  $2600.00

            MACMA Rate       53,500   0.0350

And so on.
  

Есть ли что-нибудь подобное в Crystal Reports 10?

Ответ №1:

Вложенный отчет! Это был бы самый чистый способ.

  1. В нижнем колонтитуле идентификатора поступления вставьте вложенный отчет.
  2. Во вложенном отчете используйте Receipt_Deduction таблицу.
  3. В ссылках вложенных отчетов выберите записи во вложенном отчете на основе Receipt_ID = Receipt_Deduction.Receipt_ID
  4. Переместите содержимое вычетов в раздел подробностей вложенного отчета.
  5. В родительском отчете удалите Receipt_Deduction группу и, возможно, таблицу сведений.
  6. Если вы хотите, вы можете даже переместить свой подробный контент в раздел Сведений, чтобы удалить Receipt_Detail группу.

Комментарии:

1. Звучит как хороший способ пойти. Я раньше не использовал вложенные отчеты, поэтому было бы интересно попробовать. Спасибо за советы.

2. Я пытаюсь сделать это прямо сейчас, но я получаю все вычеты для всех поступлений, а не вычеты для рассматриваемой квитанции.

3. Мило. Да, это то, что я пытался сказать в # 3. Я отредактирую, чтобы уточнить.