BIRT:表中的多个子组(嵌套组)

时间:2011-09-15 19:08:19

标签: grouping birt

我的数据集返回以下内容:

-------------------------------------------------
Month     Customer  Application  Operation  Count
-------------------------------------------------
Jun2011   Cust_1    App_1        Add        100
Jun2011   Cust_1    App_1        Update     100
Jun2011   Cust_1    App_2        Add        100
Jun2011   Cust_1    App_2        Update     100
Jun2011   Cust_2    App_1        Add        100
Jun2011   Cust_2    App_1        Update     100
Jun2011   Cust_2    App_2        Add        100
Jun2011   Cust_2    App_2        Update     100
Aug2011   Cust_1    App_1        Add        50
Aug2011   Cust_1    App_1        Update     50
Aug2011   Cust_1    App_2        Add        50
Aug2011   Cust_1    App_2        Update     50
Aug2011   Cust_2    App_1        Add        50
Aug2011   Cust_2    App_1        Update     50
Aug2011   Cust_2    App_2        Add        50
Aug2011   Cust_2    App_2        Update     50
-------------------------------------------------

现在使用这个数据集我需要创建一个在一个表中有多个组的报告(如下所示)

Expected Report Output:
----------------------------------------------------------
Month    BreakDown_Type   BreakDown    Operation    Count
----------------------------------------------------------
Jun2011
        Summary
                                       Add          400
                                       Update       400
        Customer Breakdown
                          Cust_1
                                       Add          200
                                       Update       200
                          Cust_2
                                       Add          200
                                       Update       200
        Application Breakdown
                          App_1
                                       Add          200
                                       Update       200
                          App_2
                                       Add          200
                                       Update       200
Aug2011
        Summary
                                       Add          200
                                       Update       200
        Customer Breakdown
                          Cust_1
                                       Add          100
                                       Update       100
                          Cust_2
                                       Add          100
                                       Update       100
        Application Breakdown
                          App_1
                                       Add          100
                                       Update       100
                          App_2
                                       Add          100
                                       Update       100
--------------------------------------------------------

简而言之,报告必须显示

- group-by(Month)
  - sub-group-by(Operation)
  - sub-group-by(Customer, Operation)
  - sub-group_by(Application, Operation)

我找不到在表格中添加多个组的方法。是否有任何解决方法来创建此类报告。

提前致谢

1 个答案:

答案 0 :(得分:3)

如果您可以更改数据库查询,我认为解决方法可能是重新组织数据集。

查询可能看起来像

(Q1) UNION (Q2) UNION (Q3)

Q1可能就是这样。

SELECT 
    'Summary' AS BREAKDOWN_TYPE, 
    '' AS BREAKDOWN, 
    MONTH, 
    OPERATION, 
    COUNT
FROM OPERATIONS

Q2

SELECT 
    'Customer Breakdown' AS BREAKDOWN_TYPE, 
    CUSTOMER AS BREAKDOWN, 
    MONTH, 
    OPERATION, 
    COUNT
FROM OPERATIONS

Q3一样Q2APPLICATION AS BREAKDOWN

这会将分组问题更改为BIRT可以轻松处理的问题。