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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.