楼主: 雯雯9404
697 5

[问答] 使用UPCASE转换变量后,用where语句查找依然区分大小写。 [推广有奖]

  • 0关注
  • 0粉丝

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
59 点
帖子
4
精华
0
在线时间
25 小时
注册时间
2022-8-29
最后登录
2023-10-9

楼主
雯雯9404 发表于 2022-9-23 13:42:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
新人发帖,请教各位大神一个问题。题目要求找出数据集a中country变量为US和us的观测,输出为新的数据集。
我先用了从
data a01;
set a;
country=upcase(country);  
where country='US';
run;
输出的数目是311条观测,不对。
尝试了第二种写法。
data a02;
set a;
where (country='US' or country='us');
run;

则能输出正确的316条的观测。
再试了第三种,可以输出316条观测。
data a03;
set a;
country01=upcase(country);  
where country01='US' ;
run;

第四种写法,也可以输出316条观测。
data a04;
set a;
country=upcase(country);  
run;

data a04_01;
set a04;
where country='US';
run;


后三种写法都可以输出正确的答案。那为什么第一种写法,upcase之后的观测值,不能在where语句中被识别到呢?
二维码

扫码加我 拉你入群

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

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

关键词:upcase Where 区分大小写 HERE Case

沙发
橙红的果士 学生认证  发表于 2022-9-26 15:51:07
第一种方法中country变量的赋值语句其实没有作用,跑完看看log就知道了

藤椅
橙红的果士 学生认证  发表于 2022-9-26 16:00:23
我比较好奇你的第三种方法为什么会是对的?
按道理 country01 变量应该是在where之后产生的,所以你的where语句应该没起到作用,你看看log没报warnning嘛?

板凳
橙红的果士 学生认证  发表于 2022-9-26 16:01:13
where语句不能与自动变量连用以及新创建的变量连用,因为where语句在pdv之前执行

报纸
雯雯9404 发表于 2022-9-26 17:16:06
橙红的果士 发表于 2022-9-26 16:00
我比较好奇你的第三种方法为什么会是对的?
按道理 country01 变量应该是在where之后产生的,所以你的where ...
试了一下确实有报错,当时搞混了。

地板
雯雯9404 发表于 2022-9-26 17:16:42
橙红的果士 发表于 2022-9-26 16:01
where语句不能与自动变量连用以及新创建的变量连用,因为where语句在pdv之前执行
搞懂了,非常感谢您解惑。

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

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