楼主: edwardzxf
5290 10

[原创博文] %INDEX [推广有奖]

  • 0关注
  • 2粉丝

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
222 个
通用积分
0.3603
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3991 点
帖子
242
精华
0
在线时间
375 小时
注册时间
2010-7-30
最后登录
2021-5-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
看看这个,%INDEX (FORUM CALL ROA, FOR) 它返回值的不是0,说明它把“FORUM”里的“FOR”识别了。怎样让它以单词为单位来查找,而不是字符呢。有这样的宏函数吗?在Data 里好像INDEXW()可以,可是我要宏函数,希望可以。谢谢
二维码

扫码加我 拉你入群

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

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

关键词:Index IND forum call Data 单词

回帖推荐

bobguy 发表于5楼  查看完整内容

I use this trick. See example below, %macro indexw(s,r); %let s=%str( )&s%str( ); %let r=%str( )&r%str( ); %let return=%index(&s,&r); &return %mend; %put "%INDEXW(FORUM CALL ROA, FOR)"; %put "%INDEXW(FOR CALL ROA, FOR)";

本帖被以下文库推荐

沙发
webgu 发表于 2012-6-1 17:42:49 |只看作者 |坛友微信交流群
你可以试一试 %sysfunc .
  1. %macro test ();
  2. data _null_;
  3. %let y=%sysfunc(indexw("forum call roa","for"));
  4. %put  &y;
  5. %mend test;
  6. %test();
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

藤椅
edwardzxf 学生认证  发表于 2012-6-1 19:52:23 |只看作者 |坛友微信交流群
webgu 发表于 2012-6-1 17:42
你可以试一试 %sysfunc .
嗯,基本可以,非常感谢,不过不要引号,%let y=%sysfunc(indexw(forum call roa,for));

使用道具

板凳
edwardzxf 学生认证  发表于 2012-6-1 20:15:48 |只看作者 |坛友微信交流群
edwardzxf 发表于 2012-6-1 19:52
嗯,基本可以,非常感谢,不过不要引号,%let y=%sysfunc(indexw(forum call roa,for));
其实不用在Data _null_环境里也可以的。。

使用道具

报纸
bobguy 发表于 2012-6-2 06:54:20 |只看作者 |坛友微信交流群
I use this trick. See example below,

%macro indexw(s,r);
%let s=%str( )&s%str( );
%let r=%str( )&r%str( );
%let return=%index(&s,&r);
&return
%mend;

%put "%INDEXW(FORUM CALL ROA, FOR)";
%put "%INDEXW(FOR CALL ROA, FOR)";
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

地板
webgu 发表于 2012-6-2 10:55:15 |只看作者 |坛友微信交流群
bobguy 发表于 2012-6-2 06:54
I use this trick. See example below,

%macro indexw(s,r);
呵呵,请教大神:在两头用%str() 将宏变量包起来,用处是?这个程序诡异。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

7
bobguy 发表于 2012-6-2 21:30:18 |只看作者 |坛友微信交流群
webgu 发表于 2012-6-2 10:55
呵呵,请教大神:在两头用%str() 将宏变量包起来,用处是?这个程序诡异。
mimic all words separated by a space including the first and the last.

使用道具

8
webgu 发表于 2012-6-4 08:39:26 |只看作者 |坛友微信交流群
bobguy 发表于 2012-6-2 21:30
mimic all words separated by a space including the first and the last.
谢谢。我再看看。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

9
soporaeternus 发表于 2012-6-4 14:02:55 |只看作者 |坛友微信交流群
webgu 发表于 2012-6-2 10:55
呵呵,请教大神:在两头用%str() 将宏变量包起来,用处是?这个程序诡异。
str作为一个word貌似<=> str以空格开始和结尾~~
Let them be hard, but never unjust

使用道具

10
webgu 发表于 2012-6-4 15:16:23 |只看作者 |坛友微信交流群
soporaeternus 发表于 2012-6-4 14:02
str作为一个word貌似 str以空格开始和结尾~~
呵呵,还是没太理解那个程序。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

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

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

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

GMT+8, 2024-4-28 21:29