2017-02-02 4 views
0

Aidez-moi à trouver la bonne formule pour la transformation d'expression dans informatica. Je dois exclure tous les Product_ID qui ne sont pas dans la plage de [B1, B40]. Il y a aussi Product_IDs> B40. Le Product_ID est une chaîne, donc je ne peux pas simplement écrire par exemple pour CHECK_OUT Port:comment exclure les ID (chaîne) qui ne sont pas dans la plage définie

IIF (Produkt_ID > 'P40', 'error', 'no_error') 
+0

Avez-vous une gamme complète des Product_Ids dont vous disposez? Il n'est pas possible de dire valeur> B40 ... Cela ne veut rien dire –

+0

Votre question mentionne les identifiants avec un 'B', mais votre code utilise un exemple avec 'P'. Est-ce une faute de frappe? B n'est pas la seule lettre que vous devez inclure/exclure? –

+0

c'est juste une faute de frappe – Slava32

Répondre

0

Vous pourriez séparer produit lettre d'identification dans v_P_ID_L et produit numéro d'identification dans v_P_ID_NO, une chaîne un nombre. v_P_ID_L expression est la suivante: substr (Produkt_ID, 1,1) expression v_P_ID_NO est: substr (Produkt_ID, 2)

Ensuite, le IIF ci-dessus devient

IIF (V_P_ID_L = 'B' ET (v_P_ID_NO < = 40) , 'aucune erreur', 'erreur')