arrays - 在SAS中使用条件连接多个列
问题描述
我正在尝试根据条件连接多个列。数据如下。
CRN Diff Pay1 Pay2 Pay3 Pay4 Pay5 Pay6 Pay7 Pay8 Pay9 Pay10
1 1 000 084 084 084 000 XXX 000 XXX XXX XXX
2 10 065 000 000 000 000 XXX XXX XXX XXX XXX
3 -1 000 XXX XXX XXX XXX XXX XXX XXX XXX XXX
4 3 XXX 000 000 000 000 000 000 000 000 000
5 -2 070 070 070 070 070 070 070 XXX XXX XXX
6 1 090 XXX XXX XXX XXX XXX XXX XXX XXX XXX
我正在使用的代码如下。
data temp;
set temp;
format hist $200.;
array col(*) Pay1-Pay10;
if diff=-1 then hist=catx('',col(2-10));
else if diff=-2 then hist=catx('',col(3-10));
else hist=catx('',col(*));
run;
我想要基于 diff=-1 、 -2 等连接列并连接相应的列。
我得到的错误是“数组下标超出范围”。请帮忙。
解决方案
您的数组定义不允许使用 -8 或 -7 作为索引。只有 1 到 10 之间的整数。但看起来您根本不需要定义或使用数组。
只需使用变量列表即可。OF
将变量列表传递给函数时,请确保使用关键字。
if diff=-1 then hist=catx('',of pay2-pay10);
else if diff=-2 then hist=catx('',of pay3-pay10);
else hist=catx('',of pay1-pay10);
推荐阅读
- python-3.x - 组合框虚拟事件
- git - Git 分支不是基于 master 创建的吗?
- java - 如何使用 xAgent 创建自定义经过身份验证的 API 请求?
- javascript - 如果在页面加载后调用 lettering.js 将不起作用
- javascript - Algolia - 具有多个搜索框的即时搜索
- swiftui - Color.clear 背景上的 SwiftUI onTapGesture 与 Color.blue 的行为不同
- java - 将 JavaFX13 与 Java 13/8 一起使用并出现 JNI 错误?
- c# - 用于下拉菜单的 Selenium SelectElement - 元素不可交互:元素当前不可见且可能无法操作
- csv - jq输出中的反斜杠
- python-3.x - 在 xhtml2pdf 中添加目录