*(Вопрос) У меня есть строковая переменная var1, которая может принимать значения от x1 до xn, разбавленные пропущенными значениями (n заранее неизвестно). Я бы хотел создать новую строковую константу newvar, которая была бы просто результатом сцепления (конкатенации) непропущенных значений переменной var1. *(Ответ) Автор: rlevesque@videotron.ca, 9.10.2001. DATA LIST LIST /var1(A8). BEGIN DATA . x1 . . x2 x3 . x4 . . END DATA. LIST. COMPUTE dummy=1. SAVE OUTFILE='c:\\temp\\mydata.sav'. SELECT IF LTRIM(RTRIM(var1))<>".". COMPUTE idx=$CASENUM. STRING newvar(A255). DO IF idx=1. COMPUTE newvar=var1. ELSE. COMPUTE newvar=CONCAT(RTRIM(LAG(newvar))," ",var1). END IF. EXECUTE. COMPUTE dummy=1. ADD FILES FILE=* /BY=dummy /LAST=last. EXECUTE. SELECT IF last=1. SAVE OUTFILE='c:\\temp\\mystring.sav'. GET FILE='c:\\temp\\mydata.sav'. MATCH FILES FILE=* /TABLE='c:\\temp\\mystring.sav' /BY dummy. * Убираем лишнее. MATCH FILES FILE=* /DROP=dummy idx. EXECUTE.