【问题标题】:Birt Report GroupingBirt 报告分组
【发布时间】:2011-11-29 10:54:46
【问题描述】:

我有 2 列:fltrte_P1_Plt_Per_Id_Fk(Pilot)和 fltrte_P2_Plt_Per_Id_Fk(Co-Pilot)。

在报告中显示数据时,我需要根据飞行员姓名进行分组。他可能是飞行员或副驾驶。
它应该在同一组中。如何在 Birt 报告中实现这种分组?

【问题讨论】:

  • 报表应该如何判断是使用 Pilot 还是 Co-Pilot 进行分组——比​​如通过 Co-Pilot 分组时 Pilot 是否会为空?或者,您希望在报告中为 Pilot 和 Co-Pilot 单独行吗?
  • 感谢您的回复,但在这里我必须实现如下所示
  • 感谢您的回复,但在这里我必须实现类似(有时飞行员(人)将在飞行中驾驶或副驾驶,我们存储在不同的列 fltrte_P1_Plt_Per_Id_Fk(飞行员)和 fltrte_P2_Plt_Per_Id_Fk(Co-飞行员),然后我在那里做飞行员总结报告我想要基于飞行员(人)的组,他可能在飞行中驾驶或副驾驶,但我们需要在他的组下显示并计算值勤时间等。 ) 组
  • 我想你明白我的问题

标签: grouping birt


【解决方案1】:

我建议修改您的查询:

select fltrte_P1_Plt_Per_Id_Fk, fltrte_P2_Plt_Per_Id_Fk, ... from flight_Log_Table

到:

select fltrte_P1_Plt_Per_Id_Fk as group_By, ... from flight_Log_Table
union all
select fltrte_P2_Plt_Per_Id_Fk as group_By, ... from flight_Log_Table

然后将您的报告修改为在查询中的新 group_By 字段上进行分组。

【讨论】:

  • 非常感谢,我得到了解决方案,但我有一个小问题全球订购
【解决方案2】:

在您的 SQL 查询中创建一个将两者结合起来的新列。

ISNULL ( fltrte_P1_Plt_Per_Id_Fk,  fltrte_P2_Plt_Per_Id_Fk  ) as 'Pilot'

如果 P1(Pilot)有值,它将在新字段“Pilot”中,否则 P2(Co-Pilot)将在新字段“Pilot”中

此解决方案使用 2008 R2 数据库在 BIRT 4.2 中工作。

【讨论】:

    【解决方案3】:

    将 GROUP BY 子句 Group by Pilot, Co-Pilot 添加到 SQL 查询的末尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多