【问题标题】:Birt report won't group my data?Birt 报告不会对我的数据进行分组?
【发布时间】:2011-07-18 13:58:13
【问题描述】:

我有一个从 Birt 结束计算的数据集的标准偏差聚合。然后,我需要按四个 ID 的选择进行分组,以便最终得到不同计时器的四个标准偏差。我已经在 Birt 上设置了 group-by 选项,但它不起作用,它仍然好像没有分组。

显然这里可能出现的问题范围很大,所以我只能让有经验的用户来询问我有哪些设置。我还必须补充一点,我不能从 SQL 端做这个 group-by,它必须在 Birt 中完成。但它确实在 SQL 中正常工作

感谢您的帮助。

【问题讨论】:

  • 标准差是一个群函数,就像 sum。如果将其作为计算列添加到数据集中,它将为整个数据集派生 - 因此每一行都将具有相同的值(因此在对其进行分组时不会有分组中断)。您能否重新表述您想要实现的目标 - 例如,您是否要按每个数据点与平均值的标准差数进行分组?
  • 呃,我认为这是正确的。有四个计时器有多个计时,我想我需要找到每个计时器与该计时器平均值的标准偏差?那有意义吗?顺便说一句,我感谢您的回复,已经很久了!
  • 我想我现在明白了 - 您正在按计时器 ID 进行分组,但从您的数据集中计算的标准差列对所有四个组显示相同的值?

标签: java sqlite birt


【解决方案1】:

假设我的理解正确,我认为答案是您应该在报表的表对象中添加聚合,而不是在数据集中添加计算列。

如果是这样,答案是从报告的组页眉或页脚的单元格中删除标准差计算列数据项(无论您使用哪个来显示组结果),然后右键单击空单元格并选择插入 > 聚合。为聚合指定一个适当的名称(例如 grp_StdDev),将数据类型指定为 Float,将函数指定为 STDDEV,将表达式指定为数据集计时项,并将 Aggregate On 指定为计时器 ID 的组。

确定新聚合并预览结果 - 新聚合现在应该在组之间变化,每个计时器的计时标准偏差正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多