BookmarkSubscribeRSS Feed
TMiller16
Fluorite | Level 6

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?

3 REPLIES 3
Reeza
Super User

Try removing as cognos_... variable portion of your nested CASE portion.

 

Another possible option within the statement may be IFC

Patrick
Opal | Level 21

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
PGStats
Opal | Level 21

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
PG

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

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!

Register now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1716 views
  • 0 likes
  • 4 in conversation