2013-12-17 5 views
1

Я запускаю программу SAS, которая обновляет два листа в книге Excel. Книга содержит третий лист, который является просто формулами, указывающими на ячейки в экспортированных листах SAS. Всякий раз, когда я повторно запускаю программу с новыми значениями, формулы на листе 3 не обновляют свои значения.excel formula не обновляется после экспорта sas

Примером может служить следующее: sheet1 a1 = 2, sheet2 a1 = 3, sheet3 a1 = sheet1! $ A $ 1 + sheet2! $ A $ 1 (показывает 5) Я перезапускаю экспорт SAS, меняя первые два значения на 3 и 4, но на листе 3 все еще отображается 5 вместо 7.

Когда я нажимаю на ячейку sheet3 и оцениваю формулу, первые два значения отображаются правильно как 3 и 4. Третья оценка 3 + 4 показывает как 5 все еще. Если я копирую/вставляю формулу в другую ячейку, выполняется правильный расчет и отображается 7. Если я вырезаю/вставляю формулу в другую ячейку, отображается неправильное значение, но если я копирую/вставляю ее обратно в исходную ячейку, отображается правильное значение.

У меня есть Excel 2013 с автоматическими вычислениями и SAS 9.3, все работает на Windows 7 и все 64-разрядные.

+1

Я хотел бы предложить, пытаясь отделить расчетный лист в другую рабочую книгу из SAS были получены данные. Обновление в книгах может быть лучше обновления внутри рабочей книги в этом случае. – Joe

+0

Мы пошли другим путем, но это решение действительно работает. Когда я снова открываю книгу формул, меня спрашивают, хочу ли я обновлять ссылки, и после выбора «Обновить» новые значения вычисляются правильно. – user3112382

+1

FYI, новый 'ods excel' (доступный в следующем месяце или около того с обновленным выпуском 9.4), вероятно, сделает такой подход необходимым; это означает, что вы можете экспортировать сами формулы в настоящий файл Excel, поэтому вам не нужно иметь шаблонную книгу с формулами в них. – Joe

ответ

0

С СОД вы можете создать формулы Excel:

ODS TAGSETS.EXCELXP 
file="c:\temp\shoes.xml" 
STYLE=minimal 
OPTIONS (Orientation = 'landscape' 
FitToPage = 'yes' 
Pages_FitWidth = '1' 
Pages_FitHeight = '100'); 

proc print noobs data=sashelp.shoes; 
run; 

ods tagsets.excelxp close;