Я пытаюсь вычислить ряд значений, каждый из которых основан на одном после него. Например, переменная A в строке 10 используется для вычисления переменной B в строке 9, переменной A в строке 10 и переменной B в строке 9 используется для вычисления переменной C в строке 8 и т. Д. Есть ли хороший способ сделать это? Каждая строка имеет символьную переменную/имя, которая ее маркирует. Я попытался заявление сохранить с этим кодом, но не сохраняя, что определенное значение:SAS Retain Специфическая переменная для последующего использования
data null;
set oldData;
if name = 'Jimmy' then do;
variableA = variableNull1 + variableNull2;
retain variableA;
end;
if name = 'Johnny' then do;
variableB = variable A + variableNull3;
retain variableB;
end;
if name = 'Bobby' then do;
variableC = variableA + variable B + variableNull4;
retain variableC;
end;
(continue process for a few more lines)
run;
Другая идея заключается в том, если я мог бы легко заполнить вверх и вниз для каждой переменной, которая будет работать также. Спасибо всем за помощь.
Нужный выход:
Jimmy VariableNull3 VariableC
Johnny VariableNull2 VariableB
Bobby VariableNull1 VariableA
Обратите внимание, что нулевые переменные являются общими и не может быть несколько. Это также хорошо, если бы мы имели такой выход (но первый из них предпочтительнее):
Jimmy VariableNull3 VariableA VariableB VariableC
Johnny VariableNull2 VariableA VariableB VariableC
Bobby VariableNull1 VariableA VariableB VariableC
Можете ли вы разместить входной набор данных и желаемый выходной образец? – NEOmen
@NeOmen Я только что добавил два выхода, которые были бы в порядке со мной. Благодаря! – Code4Days
Не могли бы вы также разместить образец ввода? – NEOmen