我创建了这个伪造的例子:
data fakedata;
length name $5;
infile datalines;
input name count percent;
return;
datalines;
Ania 1 17
Basia 1 3
Ola 1 10
Basia 1 52
Basia 1 2
Basia 1 16
;
run;
我想要的结果是:
--->总计Basia的计数和百分比
我想总结一下Basia的计数和百分比,因为她只有一次在表中,计数为4和百分比为83.我尝试将名称换成一个数字来在proc sql中进行GROUP BY但是它按顺序改变为(我有这样的错误)。假设它不是那么困难,但我无法找到解决方案。我也试过一些阵列而没有任何成功。任何帮助表示赞赏!
答案 0 :(得分:1)
听起来像<?php
$json = '{
"result": "success",
"message": [
{
"date_insert": "2017-01-28 20:14:51",
"date_update": "2017-01-28 20:15:11",
"weather": "sunny"
}
]
}';
$array = json_decode($json,true);//Now you have an array
//print_r($array);
echo $array['message'][0]['weather'];//outputs sunny
?>
做了你想做的事:
proc sql
您可以添加proc sql;
select name, count(*) as cnt, sum(percent) as sum_percent
from fakedata
group by name;
子句以获取仅一个名称的结果。
答案 1 :(得分:0)
proc summary data=fakedata;
by name;
var count percent;
output out=wynik (drop = _FREQ_ _TYPE_) sum(count)=count sum(percent)=percent;
run;
答案 2 :(得分:0)
您可以返回一步并使用最有可能在一步中生成此输出的PROC FREQ。根据计数,百分比不正确,但我不确定它们的目的是什么,现在它们加起来超过100%。如果您已经有一些摘要,请使用WEIGHT
语句来计算计数。
proc freq data=fakedata;
table name;
weight count;
run;