Here is the code....
CASE WHEN BD.VIN = S.VIN THEN S.Dlr_GMF_ID ELSE "" END AS SOLD_DEALER_CODE_Cognos,
CASE WHEN BD.BIDDER_DEALER_CODE = (CASE WHEN BD.VIN = S.VIN THEN S.Dlr_GMF_ID ELSE "" END AS SOLD_DEALER_CODE_Cognos) THEN "WON" ELSE "LOST" END AS WON_LOSS
What am I doing wrong here?
Try removing as cognos_... variable portion of your nested CASE portion.
Another possible option within the statement may be IFC
Not tested but I believe both case statements below would give you what you're after
CASE
WHEN BD.BIDDER_DEALER_CODE =
(CASE
WHEN BD.VIN = S.VIN THEN S.Dlr_GMF_ID
ELSE ""
END
)
THEN "WON"
ELSE "LOST"
END
AS WON_LOSS
CASE
WHEN BD.VIN = S.VIN and BD.BIDDER_DEALER_CODE = S.Dlr_GMF_ID then "WON"
when BD.VIN ne S.VIN and BD.BIDDER_DEALER_CODE=' ' then "WON"
ELSE "LOST"
END
AS WON_LOSS
Should be
CASE
WHEN BD.VIN = S.VIN THEN S.Dlr_GMF_ID
ELSE ""
END AS SOLD_DEALER_CODE_Cognos,
CASE
WHEN BD.BIDDER_DEALER_CODE = CALCULATED SOLD_DEALER_CODE_Cognos THEN "WON"
ELSE "LOST"
END AS WON_LOSS
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.