楼主: oxygenmz
5338 19

谁有正版SAS, 帮我run 一下啊~~谢谢! FIND FUNCTION [推广有奖]

  • 0关注
  • 0粉丝

本科生

10%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
832 点
帖子
62
精华
0
在线时间
71 小时
注册时间
2009-4-30
最后登录
2016-6-3

楼主
oxygenmz 发表于 2009-10-30 06:47:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data find;
text='DELIMIT IT WITH BLANKS.';
Pos4=find(Text,'with','I',5);
Pos3=find(Text,'el','I', -16);
run;
二维码

扫码加我 拉你入群

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

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

关键词:function find Fun TIO Fin 正版 SAS find function Run

沙发
bobguy 发表于 2009-10-30 08:13:53
Here is the log;

1    data find;
2    text='DELIMIT IT WITH BLANKS.';
3    Pos4=find(Text,'with','I',5);
4    Pos3=find(Text,'el','I', -16);
5    run;

NOTE: The data set WORK.FIND has 1 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.63 seconds
      cpu time            0.04 seconds

藤椅
pertain 在职认证  发表于 2009-10-30 10:26:02
please upload your data file.

  1. 1    data find;
  2. 2    text='DELIMIT IT WITH BLANKS.';
  3. NOTE: SCL source line.
  4. 3    Pos4=find(Text,'with','I',5);
  5.           ----
  6.           68
  7. NOTE: SCL source line.
  8. 4    Pos3=find(Text,'el','I', -16);
  9.           ----
  10.           68
  11. ERROR 68-185: The function FIND is unknown, or cannot be accessed.

  12. 5    run;

  13. NOTE: The SAS System stopped processing this step because of errors.
  14. WARNING: The data set WORK.FIND may be incomplete.  When this step was stopped there were 0
  15.          observations and 3 variables.
  16. NOTE: DATA statement used:
  17.       real time           4.26 seconds
  18.       cpu time            0.06 seconds
复制代码

板凳
oxygenmz 发表于 2009-10-30 11:43:58
Can you post the result?
Pos4:  12
Pos3:  2
??
这是我run出来的结果,不确定是否正确,很困惑那个position, 5 and -16起啥作用了?

报纸
flutter88 发表于 2009-10-30 11:53:29
你的版本不够高,哈哈
pertain 发表于 2009-10-30 10:26
please upload your data file.
  1. 1    data find;
  2. 2    text='DELIMIT IT WITH BLANKS.';
  3. NOTE: SCL source line.
  4. 3    Pos4=find(Text,'with','I',5);
  5.           ----
  6.           68
  7. NOTE: SCL source line.
  8. 4    Pos3=find(Text,'el','I', -16);
  9.           ----
  10.           68
  11. ERROR 68-185: The function FIND is unknown, or cannot be accessed.

  12. 5    run;

  13. NOTE: The SAS System stopped processing this step because of errors.
  14. WARNING: The data set WORK.FIND may be incomplete.  When this step was stopped there were 0
  15.          observations and 3 variables.
  16. NOTE: DATA statement used:
  17.       real time           4.26 seconds
  18.       cpu time            0.06 seconds
复制代码

地板
xiaosanmao 发表于 2009-10-30 12:36:10
oxygenmz 发表于 2009-10-30 11:43
Can you post the result?
Pos4:  12
Pos3:  2
??
这是我run出来的结果,不确定是否正确,很困惑那个position, 5 and -16起啥作用了?
12   data find;
13   text='DELIMIT IT WITH BLANKS.';
14   Pos4=find(Text,'with','I',5);
15   Pos3=find(Text,'el','I', -16);
16   put pos4 pos3;
17   run;

12 2
NOTE: 数据集 WORK.FIND 有 1 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.00 秒
      CPU 时间         0.00 秒

7
oxygenmz 发表于 2009-10-30 13:41:48
谢谢~~
但能否解释一下 position, 5 and -16起的作用?
不是说应该是从那个position开始往左或是往右数起的嘛? 怎么都从左边第一个开始数了?
请高人作答一下,我读完documentation 还是木搞明白。

8
oxygenmz 发表于 2009-10-30 23:07:43
顶顶~~求哪位大仙解答一下吧,谢谢

9
jonathanjp 发表于 2009-10-30 23:57:25
text: DELIMIT IT WITH BLANKS.
Pos4: 12
Pos3: 2


FIND(string,substring<,modifiers><,startpos>)

startpos只是给出搜索的起始位置和方向,但最后如果搜到到的话,返回的结果是从左往右数的位置!

10
jingju11 发表于 2009-10-31 00:47:33
7# oxygenmz

我想FIND的方法如下:

1.把字符从左到右标出位置:1 2 。。。。n, n是字符串的长度
2.把开始位置参数设成p,把find的输出值设成f;
3. 如果p>n 或者p=0, 那么f=0
    如果0<p<=n 那么从p开始向右找,如果找到指定字符那么给出它的位置,如果没有找到,0
    如果-n<=p<0 那么从绝对值p的位置开始向左找,如果找到指定字符,给出它的位置,如果没有找到,0
    如果p<-n那么从最右端开始向左找,如果找到指定字符,给出它的位置,如果没有找到,0。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 19:38