05-10-2018 03:18 AM
I have a question please.
I will try to simplify it by a simple example.
There is an external table that I receive.
In this table for example there are 3 fields and should be for example 4 rows.
For example:The data should be like that:
a b c
d e f
g h I
J k L
But I get it like that:
abc de f
g h I
j K L
I want to ask If there is a way to fix the data in a code.
For example: I want to have in each row 3 fields only and each field will contain 1 words(string).
Best solution will be to have a flexible program that can fix data for any number of fields.
05-10-2018 03:26 AM
05-10-2018 05:37 AM
Make an array with 3 variables.
Retain a counter, initialize to 1.
Do an input without a variable (input line ends up in _infile_)
Compress the _infile_ to remove blanks.
Do for all characters in _infile_:
Assign the current character to the current array member
Increment the counter
If the counter is > 3, reset to 1 and output
When the end of file is reached, output if counter is not 1 (incomplete last observation)
How to put that pseudocode into data step code is left as an exercise for the student
05-10-2018 06:16 AM
The challenge starts with your specification.
You define "...and each field will contain 1 words(string)." but then you show us as very first word "abc" but expect this single word to get split up into 3 different variables. What should it be? 1 non-blank character per variable OR words?