Hi I'm just wondering how to convert this SQL statement into PROC SQL. I'm using SAS version 7.15
case
when pdi.Value2 is not null
then CONCAT(CAST(pdi.Value as decimal(18,3)), '-', CAST(pdi.Value2 as decimal(18,3)))
else CONVERT(varchar(20), pdi.Value)
end as PeerDataValue
This is what I have so far and it doesn't seem to work;
any help is appreciated
case
when pdi.Value2 is not null
then CAT((put(pdi.Value,18,3)), '-', (put(pdi.Value2,18,3)))
else put(pdi.Value, $20) as pdi.Value
end as PeerDataValue,
Something like this should work. Not sure how many digits you want but SAS can only accurately store 15 or 16 (I've specified 15 digits with 3 decimal places). Value and Value2 must be numeric for this to work.
CATS(put(pdi.Value,15.3), '-', put(pdi.Value2,15.3))
Something like this should work. Not sure how many digits you want but SAS can only accurately store 15 or 16 (I've specified 15 digits with 3 decimal places). Value and Value2 must be numeric for this to work.
CATS(put(pdi.Value,15.3), '-', put(pdi.Value2,15.3))
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.