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))
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.