我列出了2列名称(第1列)和系统(第2列)。我正在尝试创建一个表格,显示列表中每个人的一个观察,他们的名字出现的计数,以及他们有权访问的系统列表。
我的代码基于the example here,但第2列中的变量不是数字,我不断收到警告“注意:数字数据无效,System ='XYZ'”并且创建的表只有所有系统单元中的句点。
我的代码如下,我缺少什么?
PROC SQL;
CREATE TABLE TESTDATA.sorted_import AS
SELECT Name,
System format=$15.,
COUNT(Name) AS Total
FROM TESTDATA.Master_Test
WHERE Name <> ""
GROUP BY Name;
QUIT;
DATA UniqueList (keep= Name System1-System22);
RETAIN Total Name System1-System22;
ARRAY UniqueList(*) System1-System22;
SET TESTDATA.sorted_import;
BY Name;
IF first.name then do;
i=1;
CALL MISSING(of UniqueList(*));
END;
UniqueList(i)=System;
IF last.name then output;
i+1;
RUN;
答案 0 :(得分:0)
如果我已经理解了您的问题,您是否尝试使用字符变量定义数组?:
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="hello world"/>
答案 1 :(得分:0)
使用具有隐式簿记的SET BY组的显式循环可以被认为比使用具有明确的簿记的隐式循环更清晰&#39; (保留/呼叫缺失)并且没有计算组大小(total
)的先验步骤。
data have (keep=name system);
do name = 'A', 'B', 'C', 'D', 'E';
p = 10 * ranuni(123);
q = (26 - p) * ranuni(123);
do c = p to q;
system = byte(65+c);
output;
end;
end;
run;
data want;
do total = 1 by 1 until (last.name); /* explicit loop over by group */
set have;
by name;
array list(*) $15 system1-system22;
list(total) = system;
end;
drop system;
run;
隐式簿记是非数据集变量在隐式循环顶部重置为缺失,当程序流到达DATA步骤底部时隐式output
。