全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1392 5
2013-11-02
悬赏 50 个论坛币 已解决
今天调试程序,每次出来的宏变量都是 99.2%,很奇怪。大家帮忙看一下。

我的数据集:




我的程序:

2.jpg

我的结果竟然是 99.2%,不是100%?
3.jpg

请问各位是什么原因?

1.jpg

原图尺寸 8.77 KB

1.jpg

最佳答案

邓贵大 查看完整内容

Easy bucks. The second argument of your round function is 3.1, so it returns a multiple of 3.1, which happens to be 99.2, because that is as close as you can get from 100.
二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-2 22:13:01
Easy bucks. The second argument of your round function is 3.1, so it returns a multiple of 3.1, which happens to be 99.2, because that is as close as you can get from 100.
二维码

扫码加我 拉你入群

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

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

2013-11-2 22:26:24
这是啥程序,帮顶
二维码

扫码加我 拉你入群

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

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

2013-11-3 02:10:39
The case I can think of is that you have customized formats like the example below,

proc format;
value pct
0-<99 = best.
99-100=100
;
run;

data t1;
  colpercent=99.2;
  call symputx('pct',colpercent);
  format colpercent pct.;
  run;

  proc print;run;

  %put >>>&pct<<<;

do a proc contents and take a look there is a format for  the variable.
二维码

扫码加我 拉你入群

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

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

2013-11-3 20:56:58
你把你的数据集上传上来才比较方便看原因吧,因为显示的100可能是99.2
二维码

扫码加我 拉你入群

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

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

2013-11-4 08:05:11
邓贵大 发表于 2013-11-2 22:13
Easy bucks. The second argument of your round function is 3.1, so it returns a multiple of 3.1, whic ...
确实问题在此.
整数ROUND时要小心.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群