2

我有一个相当简单的问题,尽管我在网上搜索了很多小时,但我还是没有为自己锻炼。

我有一份报告,其中包含来自几千台设备(记录器)的时间戳数据,为了以合理的方式呈现数据,我在报告中设置了两个组;记录器和时间戳,因此数据首先按记录器 id 分组,然后按时间戳分组,这工作正常

Group 1 Logger 1
  Group 2 Timestamp 01/08/2012
    Data...
    Data...
    Data...
  Group 2 Timestamp 02/08/2012
    Data...
    Data...
Group 1 Logger 2
  Group 2 Timestamp 01/08/2012
    Data...
    Data...
    Data...

现在数据(详细信息)字段对用户隐藏,如果每个 group-2 中有 4 条或更多记录,我只想显示 group-2 的标题。为了实现这一点,我在 group-2 上使用了以下抑制公式

Count ({GMAC_spDg2Report;1.tTimeStamp}, {GMAC_spDg2Report;1.tTimeStamp}, "daily") < 4

诀窍是在某些 1 级组中,所有组 2 标题都被抑制,在这种情况下,我也想隐藏组 1 标题。在第 1 组中使用与第 2 组相同的抑制公式并没有产生预期的结果。我还尝试在 group-1 页脚中使用具有不同计数的运行总计(称为 {#Count Unsupressed Days}),并且在每个 group-1 上重置下面的公式

Count ({GMAC_spDg2Report;1.strLogger}, {GMAC_spDg2Report;1.tTimeStamp}, "daily") > 4

运行总计完美运行​​,如果组具有未抑制的子组,则返回组 1 页脚中的 1,如果抑制所有组 2 标题,则返回 0。

所以这是挑战,我似乎无法使用运行总计的输出在 group-1 的标题中应用抑制规则。为了演示这个问题,我创建了一个公式字段,其中仅包含运行总计的输出,并将其放在 group-1 标题中。结果至少可以说令人困惑......公式字段显示的值与运行总计不同,因此抑制规则不起作用。

我希望这有某种意义......我觉得我已经尝试了一切

4

2 回答 2

1

我没有明确的解决方案,但使用以开头的公式字段

WhilePrintingRecords;
...

该公式将在读取所有记录进行处理,因此您将能够在节标题中使用它并获得正确的结果。
现在有一个问题是找到一个对您有用的公式逻辑,但也许这第一步可以帮助您朝着正确的方向前进。

于 2012-08-30T13:41:23.300 回答
0

我曾经遇到过类似的问题。我记得,诀窍是检查Suppress blank section每个细节部分并检查组标题部分中的一些类似的声音选项Suppress blank group(?)。

对不起,我不能给你确切的名字,这是很久以前的事了,我用的是德文版本。不过,我知道没有公式也是可能的。

我认为您不使用子报告。如果你这样做了,请注意这个技巧只有在子报告有选项Suppress empty report(?)与我上面写的一起检查时才有效。

于 2017-10-18T12:14:26.553 回答