SemanticException无法将窗口调用分解为组。至少有一个组必须仅依赖于输入列

时间:2017-01-03 06:33:59

标签: hive

以下查询在Oracle中正常运行但在hive中无效。

SELECT Q.tm_mo_id,
       '1380' AS mrc_cd,
       NVL (R.itm_profit_ctr_cd, '99') AS profit_center_cd,
       MAX(CASE R.itm_profit_ctr_cd 
             WHEN NULL THEN 'UNASSIGN PROFIT CNTR' 
             ELSE R.itm_profit_ctr_ds 
           END) profit_center_desc,
       SUM(Q.bp_grs_quota_am) AS mth_bp_plan_gts_am_usd,
       SUM(Q.grs_quota_am) AS mth_ju_plan_gts_am_usd
  FROM v_l_0002_gb_gds_us_quota_v_1 Q
  LEFT JOIN
    (SELECT * FROM
      (SELECT ph_dtl_id,
              itm_profit_ctr_cd,
              MIN (itm_profit_ctr_ds) AS itm_profit_ctr_ds,
              ROW_NUMBER () OVER (
                PARTITION BY ph_dtl_id 
                ORDER BY COUNT(CASE profit_ctr_cd 
                                 WHEN 'JNJDUMMY' THEN NULL 
                                 WHEN '99' THEN NULL 
                                 ELSE profit_ctr_cd 
                               END) DESC, 
                         itm_profit_ctr_cd ASC) rn
         FROM v_l_0002_gb_gds_us_sku_to_profit_center_lookup_v_1 
        GROUP BY ph_dtl_id, 
                 itm_profit_ctr_cd) E 
      WHERE rn = 1 ) R 
    ON (Q.ph_dtl_id = R.ph_dtl_id)
 WHERE SUBSTR (Q.tm_mo_id, 1, 4) = '2016'
 GROUP BY Q.tm_mo_id, 
          NVL(R.itm_profit_ctr_cd, '99')

0 个答案:

没有答案