楼主: jzx江湖浪子
1721 3

价位段判断 [推广有奖]

  • 2关注
  • 0粉丝

已卖:96份资源

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
142 个
通用积分
0.0600
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
193 点
帖子
17
精华
0
在线时间
48 小时
注册时间
2010-8-18
最后登录
2016-3-8

楼主
jzx江湖浪子 发表于 2014-4-6 16:29:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有价位段数据集如下
价位段    jia1    jia2
1千以下    0    1000
1千-2千    1000    2000
2千-5千    2000    5000
5千-1万    5000    10000
1万-2万    10000    20000
2万-3万    20000    30000
3万-5万    30000    50000
5万-10万    50000    100000
10万-15万    100000    150000
15万-20万    150000    200000
20万-30万    200000    300000
30万-50万    300000    500000
50万-100万    500000    1000000
100万以上    1000000    999999999


品名数据集如下
序号    品名    标签价
1    A1    100000
2    A2    19999
3    A3    2000000
4    A4    20000
5    A5    673
6    A6    23
7    A7    34
8    A8    566225
9    A9    54
10    A10    676747
11    A11    678854
12    A12    45435436
13    A13    4363452
14    A14    87969
15    A15    26669
16    A16    343
17    A17    1214678
18    A18    4542141

怎么根据价位段数据集判断品名数据集中标签价的范围,(要求  jia1<=标签价<jia2)做成新的品名数据集,如下
序号    品名    标签价    价位段
1    A1    100000    10万-15万
2    A2    19999    1万-2万
3    A3    2000000    100万以上
4    A4    20000    2万-3万
5    A5    673    1千以下
6    A6    23    1千以下
7    A7    34    1千以下
8    A8    566225    50万-100万
9    A9    54    1千以下
10    A10    676747    50万-100万
11    A11    678854    50万-100万
12    A12    45435436    100万以上
13    A13    4363452    100万以上
14    A14    87969    5万-10万
15    A15    26669    2万-3万
16    A16    343    1千以下
17    A17    1214678    100万以上
18    A18    4542141    100万以上
我知道在data步里有个select    when,可是10几个价位段,重复写,感觉太麻烦了,有没有简单点的,直接自定义一个函数,或者一个宏语句之类的,小弟刚学SAS求大神指点。谢了。

二维码

扫码加我 拉你入群

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

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

关键词:数据集 标签 品名

沙发
zhengbo8 发表于 2014-4-6 20:40:20
简单的sql即可解决。

  1. data price;
  2.         length priceRange $ 10;
  3.         input priceRange $  low high;
  4. datalines;
  5. 1千以下    0    1000
  6. 1千-2千    1000    2000
  7. 2千-5千    2000    5000
  8. 5千-1万    5000    10000
  9. 1万-2万    10000    20000
  10. 2万-3万    20000    30000
  11. 3万-5万    30000    50000
  12. 5万-10万    50000    100000
  13. 10万-15万    100000    150000
  14. 15万-20万    150000    200000
  15. 20万-30万    200000    300000
  16. 30万-50万    300000    500000
  17. 50万-100万    500000    1000000
  18. 100万以上    1000000    999999999
  19. ;

  20. data product;
  21.         input id productId $ price;
  22. datalines;
  23. 1    A1    100000
  24. 2    A2    19999
  25. 3    A3    2000000
  26. 4    A4    20000
  27. 5    A5    673
  28. 6    A6    23
  29. 7    A7    34
  30. 8    A8    566225
  31. 9    A9    54
  32. 10    A10    676747
  33. 11    A11    678854
  34. 12    A12    45435436
  35. 13    A13    4363452
  36. 14    A14    87969
  37. 15    A15    26669
  38. 16    A16    343
  39. 17    A17    1214678
  40. 18    A18    4542141
  41. ;


  42. proc sql noprint;

  43.         create table result as
  44.                 select id,productId,price,priceRange
  45.                         from price,product
  46.                         where (product.price<price.high and product.price >= price.low)
  47.                         order by id;

  48. quit;
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 100 热心帮助其他会员
jzx江湖浪子 + 1 + 1 + 1 精彩帖子

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

藤椅
jzx江湖浪子 发表于 2014-4-6 21:18:34
你这太帅了,简洁,又快捷,就是我想要的结果。
very thank you

板凳
soporaeternus 发表于 2014-4-10 16:26:07
这个最好还是用format......
Let them be hard, but never unjust

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

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