我真的不知道如何表达我的标题,所以我只想解释一下我的情况。我对水晶报告相对较新,基本上我所知道的就是显示线性集合,在那里你有一个数据集,你只需要显示你想要的所有字段,基本上这些字段有1..1的关系。然而,我正在尝试做一个字段之间可能存在0..n关系的报告,这将打破报告的线性性质。例如:
我有3组集合,分别具有以下属性:
贡献
- 缴费月份
- 出资额
汇款
- 缴费月份
- 汇款期限
- 金额
没收
- 缴费月份
- 没收期
- 金额
对于每一笔捐款,它可以有0..n与其相关的汇款和/或没收。因此,在某些情况下,报告应该是这样的:
控制月|监控月|RemitPeriod
2010年1月||954.23----||2010年第1季度-------||500.00---||------------------|
------------------||---------------||2010年第2季度--------||250.00-||------------------|
2010年2月||5000.00-||------------------||---------------||2010年第2季度-------||550.00
-------------------||-------------||----------------|----------------||2010年第3季度--------||750.00
我试过使用公式,你可以显示汇款和没收的详细信息,比如
if({ContributionDetails.ContributionMonth} = {RemittancesEmployerMonthly.ContributionMonth})
then
{RemittancesEmployerMonthly.TotalEmployerRemittance}
else
0.00
但它创建了一个内部联接,其中它只显示有汇款的捐款,并跳过没有汇款/没收的价值
我该怎么做这种格式?
提前感谢
您需要确保表之间的联接是"左外部联接"或"右外部联接"。在这种情况下,我认为您需要左外联接。这将从主表返回数据,即使其他表中没有数据。
您可以在Database Expert
和Links
选项卡中设置此项。右键单击可以更改链接。
然后,您需要创建适当的组(ContriMonth)来对返回的数据进行分组。如果没有数据,您还需要检查公式中的空值。