04-11-2017 12:57 PM
When we create a dataset from a other, sobre characteres variables "change" its length.
keep email name;
where control = 0;
But when we see the results, the name "Alexandre" changes to "Alexandr", but when we double click we can see a hidden "e".
The same happens to email variable.
The problem is that when I export to a TXT file, the name exports as "Alexandr".
04-11-2017 01:02 PM
Look at the attributes of "name". It may have a shorter display format than the defined length.
04-11-2017 01:04 PM
Could you please clarify something?
Where do you see this shortened version of the text?
Are you looking in Viewtable? If so, that's not unusual for the Viewtable to show a truncated text string, but the text is all there, as you said, you can expand the field and see it all, it's nothing to worry about.
04-11-2017 01:32 PM
Something a little odd is going on here.
First, I replicated your code, and as I expected the name field comes out at the full length.
So, either something odd is happening in your environment, or there's another explanation.
I suspect there is a $8. format on your variable. This will be copied through the data step, and EG will use it as guidance in how to display the variable.
Not sure about the export.
I suggest you run this little piece of code. It will create a SAS dataset of one record, containing information about your new dataset.
where control = 0;
proc datasets nolist nodetails;
contents data=test_dataset out=dataset_description noprint;
proc delete data=test_dataset;
Look at the following:
TYPE: should be 2 (character)
LENGTH: should be long enough to contain Alexandre. If it's 8, there's something odd happening.
FORMAT, FORMATL: These are the fields that will show if there's a format on your variable. If there's a character format with a length of 8 on it, that's your problem. Just remove or modify it.
If none of the above seem to be an issue, post the dataset created by this code; it should contain the clues needed.