代码之家  ›  专栏  ›  技术社区  ›  Lyzvaleska

如何熔合Pentaho水壶中的行

  •  0
  • Lyzvaleska  · 技术社区  · 8 年前

    所以,我要将Oracle数据库迁移到Mongo数据库。我有一个叫Work的收藏,里面收藏了所有的电影、绘画和其他东西。我还有一个名为权威的收藏,其中所有与一件作品互动过的人都是(演员、画家等)。我试图通过这种方式将权威与作品收藏中的作品联系起来:

    "workCS": {
       "casting": [
            {
                "authority": ObjectID("anID"),
                "role": [
                    "actor",
                    "realisator"
                ]
            }
        ],
        [
            {
                "authority": ObjectID("otherID"),
                "role": [
                    "actor"
                ]
            }
        ]
    }
    

    所以,我知道如何在Pentaho水壶中制作许多接头,所以我对制作该系列的基本结构没有问题。然而,我找不到在演员表中制作角色表的方法,结果是这样的:

    "workCS": {
       "casting": [
            {
                "authority": ObjectID("anID"),
                "role": [
                    "actor"
                ]
            }
        ],
        [
            {
                "authority": ObjectID("anID"),
                "role": [
                    "realisator"
                ]
            }
        ],
        [
            {
                "authority": ObjectID("otherID"),
                "role": [
                    "actor"
                ]
            }
        ]
    }
    

    当我使用SQL从Oracle DB中获取数据时,我有如下内容:

    "id"; "LastName"; "FirstName"; "Role";
    1; "Radcliffe"; "Daniel"; "Actor";
    1; "Radcliffe"; "Daniel"; "Writer"; 
    2; "Grint"; "Rupert"; "Actor";
    

    有没有办法融合Pentaho中的行,所以这个例子是这样显示的?

    "id"; "LastName"; "FirstName"; "Roles";
    1; "Radcliffe"; "Daniel"; "Actor, Writer";
    2; "Grint"; "Rupert"; "Actor";
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   AlainD    8 年前

    您正在寻找的步骤是 Group by ,带和 Aggregation 类型 Concatenate strings separated by , 关于角色。

    您需要将其他三列指定为 Group field

    同时使用 Memory Group by ,除非您有非常非常多的行,在这种情况下,请使用 分组依据 并确保数据按Authority\u id排序(它们也将自动按名称排序)。

    enter image description here