楼主: wer7wer8wer9
2387 4

[学习分享] SAS一个简单的问题求助,变量横向相乘用什么函数? [推广有奖]

  • 0关注
  • 0粉丝

大专生

35%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
886 点
帖子
26
精华
0
在线时间
38 小时
注册时间
2016-9-15
最后登录
2024-3-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS一个简单的问题求助,关于变量横向连乘。
例如 有500个变量 COL1 - COL500
COL1  COL2 COL3 COL4  。。。。 COL500
    1        2       3       4                       500
现在我想新生成一个变量 X=COL1*COL2 ***** COL500,是应该用什么函数呢?
变量连加的话直接用 X=sum(of COL1-COL500)就行了,但连乘一下子蒙蔽了。。?求助大家~~

二维码

扫码加我 拉你入群

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

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

关键词:求助大家 Sum

沙发
roller 发表于 2017-12-19 16:36:48 |只看作者 |坛友微信交流群
似乎没有现成的函数可用。
我想到的解决思路:
1. 用取对数的方法, 将乘法变成加法 。
2. 用循环语句实现 。

供楼主参考。
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

藤椅
superguy333 发表于 2017-12-19 21:07:11 |只看作者 |坛友微信交流群
  1. data X1;
  2. FORMAT Y 18.;
  3. RETAIN Y  1;
  4. DO I =1 TO 500;
  5. Y=Y*I;
  6. OUTPUT;
  7. END;
  8. RUN;
复制代码
代码如上,但是有个问题,累计乘到170时,已达数值变量最大值±1e308   ,后续变量值均为缺省值。

捕获2.PNG (9.74 KB)

捕获2.PNG

捕获1.PNG (11.94 KB)

捕获1.PNG

已有 1 人评分论坛币 热心指数 收起 理由
admin_kefu + 20 + 5 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 5   查看全部评分

使用道具

板凳
wer7wer8wer9 发表于 2017-12-20 09:55:51 |只看作者 |坛友微信交流群
superguy333 发表于 2017-12-19 21:07
代码如上,但是有个问题,累计乘到170时,已达数值变量最大值±1e308   ,后续变量值均为缺省值。
好的,谢谢你。

使用道具

报纸
wer7wer8wer9 发表于 2017-12-20 09:56:12 |只看作者 |坛友微信交流群
roller 发表于 2017-12-19 16:36
似乎没有现成的函数可用。
我想到的解决思路:
1. 用取对数的方法, 将乘法变成加法 。
谢谢你的思路~

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-1 08:00