Мне нужно создать объект DMS_EPRPFL, как показано этим сценарием pig:
DMS_EPRPFL = FOREACH ORDER_EPSE_ENEE_ENR GENERATE
GROUP_EPSE_ENEE_ENR::IDT_GCP AS IDT_GCP,
GROUP_EPSE_ENEE_ENR::CD_FRM_JUR AS CD_FRM_JUR,
GROUP_EPSE_ENEE_ENR::DA_CRE_EPS AS DA_CRE_EPS,
GROUP_EPSE_ENEE_ENR::NO_SIREN AS NO_SIREN,
GROUP_EPSE_ENEE_ENR::CD_POST AS CD_POST,
GROUP_EPSE_ENEE_ENR::CD_OSCE_PAYS_FIS AS CD_OSCE_PAYS_FIS,
GROUP_EPSE_ENEE_ENR::CD_NAF AS CD_NAF,
GROUP_EPSE_ENEE_ENR::CD_NACE AS CD_NACE,
(CASE (GROUP_EPSE_ENEE_ENR::CD_AXE_MCH)
WHEN ('PLIB' OR 'ATPE' OR 'COMM') THEN 'P'
WHEN ('PME') THEN 'E'
WHEN ('AGRI') THEN 'A'
WHEN ('OBNL') THEN 'O'
WHEN ('COLL') THEN 'C'
WHEN ('EFIN') THEN 'B'
WHEN ('NONA' OR 'SCI') THEN 'X') AS CD_MARCHE,
GROUP_EPSE_ENEE_ENR::CD_AXE_SNIV_MCH AS CD_AXE_SNIV_MCH,
MIN(GROUP_EPSE_ENEE_ENR::A_PRM_CTR) AS A_PRM_CTR,
MIN(GROUP_EPSE_ENEE_ENR::A_PRM_CAV) AS A_PRM_CAV,
MIN(GROUP_EPSE_ENEE_ENR::A_PRPRE) AS A_PRPRE,
GROUP_EPSE_ENEE_ENR::CD_NOT AS CD_NOT;
Проблема примерно в CD_MARCHE
. На самом деле мне нужно сгенерировать его в соответствии с конкретными условиями и с помощью оператора case.
При выполнении скрипта у меня появляется эта ошибка:
несоответствующий ввод ')', ожидающий END
в этой строке
WHEN ('NONA' OR 'SCI') THEN 'X') AS CD_MARCHE,
Я не могу найти проблему там.
Спасибо за вашу помощь