首页 > 解决方案 > SAS 在日志中打印一个值

问题描述

我只想将一个简单操作的输出打印到 SAS 日志中。

例如,我怎样才能看到 的值quantile('T', .75, 1000)?有没有quantile('T', .75, 1000)比将其打印到日志更聪明的方法来检查等于什么?

%let t_value = quantile('T', .75, 1000); 
%put &t_value.;

其他人在这里使用 proc 过程,但我不敢相信我需要创建一个数据集来检查一个值......

标签: sasconsoleoutput

解决方案


使用宏函数%SYSFUNC调用宏中的非宏(即数据步)函数。

例子:

%put NOTE: quantile('T', .75, 1000) is %SYSFUNC(quantile(T, .75, 1000));

将记录

11854  %put NOTE: quantile('T', .75, 1000) is %SYSFUNC(quantile(T, .75, 1000));
NOTE: quantile('T', .75, 1000) is 0.67473516460692

%SYSFUNC提示:您可能在 DATA 步骤中使用的文字参数在调用中不需要如此。仔细检查%SYSFUNC(quantile(T, .75, 1000))


推荐阅读