loops - 用于 !!在 SAS 中的调用符号中
问题描述
谁能告诉我这个数据步骤在做什么?我从未见过“!!”的用法 还是之前的“双感叹号”?
data _null_;
set &dset_in.;
if i = _n_ then do i=1 to nvar;
call symput ("var" !! strip(put(_n_, 3.)), strip(Variabile));
call symput ("min" !! strip(put(_n_, 3.)), strip(lim_inf));
call symput ("max" !! strip(put(_n_, 3.)), strip(lim_sup));
end;
run;
循环的一般要点也会有所帮助,谢谢
解决方案
!!是根据文档的连接运算符:
该代码正在创建一组宏变量 VAR001、MIN001 MAX001 以将值存储在数据集中。一般来说,这是一种不好的做法,如果你需要这样做,通常会有一种更简单的方法。
推荐阅读
- php - 将订单从 OpenCart 发送到 WooCommerce
- ios - AudioToolBox 崩溃报告仅适用于 iOS 12.3 以上 OS 苹果设备
- c# - 使用 ReactiveUI,如何将 DataContext 绑定到另一个视图中使用的视图?
- reactjs - 将功能组件转换为类组件
- android - Google Chrome 无法检测到我的 android 设备,但 adb devices 和 android studio 都可以检测到我的设备
- xslt - 在 XSLT 中处理多个 For 循环
- c# - 自托管 Web API
- java - 如何在redis中存储spring session
- python - 如何在不重新加载 Django 页面的情况下选择性地处理大型数据集的一部分?
- android - 无法在 Android Pie 的键盘视图中显示弹出窗口