Crystal Reports один ко многим отношениям - PullRequest
0 голосов
/ 04 января 2012

Я не совсем уверен, как сформулировать свой заголовок, чтобы я просто объяснил ситуацию, которая у меня есть.Я относительно новичок в отчетах Crystal, и в основном все, что я знаю, как это делать, - показывать линейные коллекции, в которых у вас есть набор данных, и вы просто представляете все поля, которые вы хотите получить из него, и в основном поля имеют отношение 1..1.,Однако я пытаюсь составить отчет, в котором между полями может быть отношение 0..n, что нарушит линейный характер отчета.Например:

У меня есть 3 набора коллекций с соответствующими свойствами:

Взносы

  • ContributionMonth
  • ContributionAmount

Денежные переводы

  • ContributionMonth
  • RemittancePeriod
  • Сумма

неустойки

  • ContributionMonth
  • ForfeiturePeriod
  • Сумма

Для каждого вклада может быть 0 ..n Денежные переводы и / или конфискации, связанные с этим.Поэтому бывают случаи, когда отчет должен выглядеть примерно так:

ContriMonth || ContriAmt || RemitPeriod || Сумма || ForfPeriod || Сумма

Январь 2010 г. ||954.23 ----- ||1кв2010 ------- ||500,00 --- || ----------------- ||

------------------ || --------------- ||2К2010 -------- ||250.00 --- || ----------------- ||

Февраль 2010 г. || 5000.00 --- ||------------------- ||----------- ||2К2010 ------- ||550,00

------------------- || ------------- ||------------------- ||----------- ||3Q2010 ------- ||750.00

Я пытался использовать формулы, в которых вы отображаете детали оплаты и потери, например,

if({ContributionDetails.ContributionMonth} =         {RemittancesEmployerMonthly.ContributionMonth})
then
{RemittancesEmployerMonthly.TotalEmployerRemittance}
else 
    0.00

, но он создает внутреннее соединение, в котором он показывает только вклады с денежными переводами и пропускает значениякоторые не имеют денежных переводов / лишений

как мне сделать этот формат?

Заранее спасибо

1 Ответ

0 голосов
/ 04 января 2012

Вы должны убедиться, что соединения между таблицами являются либо "левыми внешними объединениями", либо "правыми внешними объединениями".Я думаю, что вам нужны левые внешние соединения в этом случае.Это вернет данные из основной таблицы, даже если данные отсутствуют в других таблицах.

Вы можете установить это в Database Expert и затем на вкладке Links.Вы можете изменить ссылку, щелкнув по ней правой кнопкой мыши.

Затем вам нужно будет создать соответствующие группы (ContriMonth) для группировки возвращаемых данных.Вам также нужно будет проверить наличие нулевых значений в формулах в случае отсутствия данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...