楼主: zljwanzi25
1517 7

[问答] 请教高手,这个报表怎么做呢? [推广有奖]

  • 0关注
  • 1粉丝

已卖:68份资源

博士生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1775 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
763 点
帖子
180
精华
0
在线时间
327 小时
注册时间
2006-11-22
最后登录
2021-12-6

楼主
zljwanzi25 发表于 2013-1-15 10:44:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我想把如图片的表格做成如图片格式的统计报表,如何编程啊,请教高手
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:请教高手 怎么做 图片 如何

搜狗截图130115_2.png (3.18 KB)

搜狗截图130115_2.png

搜狗截图130115_1.png (16.98 KB)

搜狗截图130115_1.png

沙发
ideal_ice 发表于 2013-1-15 11:00:33
就是从交叉表到宽表的一个过程
Where is will,there is way.

藤椅
zljwanzi25 发表于 2013-1-15 11:31:22
ideal_ice 发表于 2013-1-15 11:00
就是从交叉表到宽表的一个过程
能具体说一下程序吗

板凳
ideal_ice 发表于 2013-1-15 11:45:05
这没啥程序吧,如果交叉表是从数据库得到的,那宽表直接可以从数据库中导出。
如果交叉表是你自己统计出来的,数出来的,那怎么能还原到宽表呢?如何知道消费1中各种客人是如何分布的?
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
卅冮古 + 1 + 1 + 1

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

Where is will,there is way.

报纸
ziyenano 发表于 2013-1-15 14:02:10
data ex;
array cost $10. cost1-cost4;
do i=1 to 100;
do j=1 to 4;
id=ranuni(0);
if id<0.2 then cost(j)="常客";
else if id<0.5 then cost(j)="普客";
else if id<0.8 then cost(j)="稀客";
else cost(j)="从不";
end;
output;
end;
drop i j id;
run;

data ex1;
length cost_type $10;
set ex;
array cost $ cost1-cost4;
   do i=1 to dim(cost);
   cust_type=cost(i);
   cost_type=vname(cost(i));
   output;
end;
drop i cost1-cost4;
run;

proc freq data=ex1;
tables cust_type*cost_type/nopercent nocol norow;
run;

已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
卅冮古 + 1 + 1 + 1
pobel + 1 + 1 + 1 精彩帖子
Imasasor + 100 + 100 + 2 + 1 + 1 今天转正了,高兴
zljwanzi25 + 1 + 1 + 1 观点有启发

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 4  信用等级 + 4   查看全部评分

地板
zljwanzi25 发表于 2013-1-15 14:24:31
ziyenano 发表于 2013-1-15 14:02
data ex;
array cost $10. cost1-cost4;
do i=1 to 100;
这个程序太高明了,多谢你的多次相助,呵呵!

7
00810112 发表于 2013-1-15 14:58:02
真心学习了

8
erzi_yhj 发表于 2013-1-16 08:07:13
vname()用得好啊,我只想到个很麻烦的方法,但可以帮你生成个table。

%macro do_it;
%do i=1 %to 4;
       proc sql;
       create table report&i as
       select cost&i as ID,count(*) as cost&i
       from ex
       group by ID;
       quit;

       %if &i>1 %then %do;

                                data report1;
                                merge report1 report&i;
                                by ID;
                                run;
       %end;
%end;
%mend;

%do_it;

                       

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 17:08