Hello Shmuel, thanks a lot for your fast answer. I apologize, I Think I didn't explain excatly what I meant. My Problem: I import Data from Excel, wher in the column "Berechtigung" are up to 45 numbers, seperatet with a Space. The column has about 3000 entrys (rows). So for example one row can have '1 15 18'. Each of this numbers I have to replace with other numbers an replace the space with a comma ','. I added in my question above the working programm which provides the exact result I want. My first question was how to get an array and your answer seems to be a good way (even when I run it, it has only values in rep4 org rep and org4??? But now I tried it first with given values to the array, But the results are not the same as in my first working way. From originally 1817 rows there are in the result just 324 rows left, and the rows are multiple repeating. So my question is: Is there a way in SAS to make the code in the way with do as quotet in the following programm or am I still to much in VBA-programming? I had to learn hard that arrays are realy different in SAS from other languages :-). Thanks for answering. Here my last try: data work.Umwandlungsergebnis; set work.BB_UEbersetzungstabelle; length Berechtigung1 $120; length org1-org18 $120; length rep1-rep18 $120; array or {*} $ org1-org18 ('18 ' '17 ' '16 ' '15 ' '14 ' '13 ' '12 ' '11 ' '10 ' '9 ' '8 ' '7 ' '6 ' '5 ' '4 ' '3 ' '2 ' '1 '); array rp {*} $ rep1-rep18 (',20#' ',09#' ',09#' ',09#' ',25#' ',25#' ',23#' ',22#' ',30#' ',21#' ',15#' ',13#' ',14#' ',06#' ',10#' ',07#' ',05#' ',04#'); set work.DM2_BRANDENBURG; Berechtigung1 = Berechtigung; do i = 1 to 18; Berechtigung1 = strip(tranwrd(Berechtigung1,or(i),rp(i))); output; end; Berechtigung1 = compress(Berechtigung1,'#'); keep Berechtigung Berechtigung1; run;
... View more