生活生产服务其它数据库案例合并分组

案例求解 ---- 分组合并 ?

案例求解,请大家积极参与,提供最优方案.案例要求:根据表1的数据,计算出结果如表2的数据,要求使用HANA计算实现.计算逻辑:按取"工厂,生产线,产品,产品问题描述"数据,去除重复数据后,按"工厂,生产线,产品"维度分组合并产品问题描述列,以逗号分隔合成字符串列.表1(源头数据):工厂生产...显示全部
案例求解,

请大家积极参与,提供最优方案.

案例要求:
根据表1的数据,计算出结果如表2的数据,要求使用HANA计算实现.

计算逻辑:
按取"工厂,生产线,产品,产品问题描述"数据,去除重复数据后,按"工厂,生产线,产品"维度分组合并产品问题描述列,以逗号分隔合成字符串列.

表1(源头数据):
工厂生产线产品条码号产品问题描述
10001001P-100A000000001产品外观问题
10001001P-100A000000002产品规格问题
10001001P-100A000000003产品密度问题
10001001P-100A000000004产品外观问题
10001001P-100A000000005产品密度问题
10001002P-100A000000006产品规格问题
10001002P-100A000000007产品密度问题
10001002P-100A000000008产品密度问题
10001002P-100A000000009产品规格问题
20002001P-100A000000010产品外观问题
20002001P-100A000000011部件A问题
20002001P-100A000000012部件B问题
20002001P-100A000000013部件B问题
20002001P-101A000000014产品密度问题
20002001P-101A000000015产品密度问题
20002001P-101A000000016部件B问题


表2(结果数据):
工厂生产线产品产品问题描述
10001001P-100产品外观问题,产品规格问题,产品密度问题
10001002P-100产品规格问题,产品密度问题
20002001P-100产品外观问题,部件A问题,部件B问题
20002001P-101产品密度问题,部件B问题



WenGE
2013-08-27收起
参与6

查看其它 5 个回答lms412的回答

lms412lms412其它XTEP
曾经遇到类似的需求,如果实时要求不高,或者数据量不是特别庞大,可通过HANA 的SQL语句来完成。结果如下图:



采用的方式首先按前面的分组项进行GROUP BY,然后套入游标,然后遍历每一行取数据库里获取每一行对应的明细信息,再次通过游标遍历将结果组合成字符串。

部分代码如下(无法直接执行,仅供参考):
-------------第一次循环游标
CURSOR c_cursor1 FOR
        select EBELN,VERKF
        from "DATA_ECC_DEV".EKKO
        where mandt='800'
        and LEFT(EKGRP,1)='2' and length(VERKF) in(12,13) and substring(VERKF,5,1)='2'
        and EBELN not in (select ebeln         from XTEP.DIM_SAP_PURTEXT_F ) ;

FOR r1 AS c_cursor1 DO call XTEP.POC_SAP_MM_PURTEXT_F(r1.EBELN,r1.VERKF) ;
END FOR ;


-------------第二次循环游标
FOR r2 AS c_cursor2
        (EBELN,MATNR) DO
if  (:saporder='')
saporder := r2.SAPORDERNO
;
else
saporder := :saporder||','||r2.SAPORDERNO
;
互联网服务 · 2013-08-27
浏览1170

回答者

lms412
其它XTEP

lms412 最近回答过的问题

回答状态

  • 发布时间:2013-08-27
  • 关注会员:0 人
  • 回答浏览:1170
  • X社区推广