sas - 如何解释这个 SAS 宏?
问题描述
我是一名新的 SAS 学习者。这是一个 SAS 语句。
%if %sysfunc(prxmatch(/^(E0349646)$/i, &SYSUSERID.)) ne 0 %then %do;
我只知道“E0348535”是一个用户ID,但无法理解整个语句。请解释这个 SAS 宏。非常感谢!
解决方案
prxmatch
是 SAS 中的 PERL 正则表达式函数。此语句检查用户 ID 名称是否包含E0349646
. prxmatch
返回匹配发生的第一个位置。如果找不到匹配项,则为 0。
%sysfunc()
是一个宏函数,允许您在宏中使用 SAS 函数。由于prxmatch
是在宏中使用的 SAS 函数,因此必须用%sysfunc()
.
最后,ne
是另一种说法not equals
。综上所述,这就是这句话用简单的英语所做的:
If the user ID contains 'E0349646', then do some stuff.
推荐阅读
- ajax - 如何使用 ajax 将下拉选择的数据传递给控制器?在控制器中为空
- javascript - 如何从给定的对象数组中对数组进行分组
- reactjs - Reactjs nav 平滑滚动和路由
- reactjs - 无法从上下文提供者获取钩子
- python - 如何修复:TypeError:预期的 str、字节或 os.PathLike 对象,而不是 builtin_function_or_method
- android - 我如何在本机反应中创建这样的视图
- r - 高租股票中的附加工具提示信息
- python - 如何对每个用户的 Flask 应用程序进行速率限制?
- python - 如何使用 python opencv 仅可靠地选择制作的液滴图像的外轮廓?
- powershell - 使用 PowerShell 脚本模拟 Windows 通配符搜索