楼主: 雪饼1
1022 2

[技术讨论与投票] SAS如何实现同一列大小写一致性核查 [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
170 点
帖子
2
精华
0
在线时间
16 小时
注册时间
2021-4-8
最后登录
2023-8-28

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
示例.png

如图所示,A3,A4,A5中同一列都是一致的,要么大写要么小写,A1和A2中不全为大写或小写。我想把A1,A2这两列找出来,该怎么解决呢?

二维码

扫码加我 拉你入群

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

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

关键词:如何实现 大小写 一致性 如图所示

已有 1 人评分经验 收起 理由
eijuhz + 20 鼓励积极发帖讨论

总评分: 经验 + 20   查看全部评分

  1. data test;
  2.    input x $ y $ z $;
  3. cards;
  4. aa bb cc
  5. Ac dd kk
  6. a4C d6-9 abd0_4
  7. ;
  8. run;

  9. data test1;
  10.     set test;
  11.         array original x y z;
  12.         length flag1-flag3 $20.;
  13.         array flag flag1-flag3;
  14.         do over original;
  15.             if prxmatch("/[a-z]/",original) and prxmatch("/[A-Z]/", original) then flag="mixed";
  16.                 else if prxmatch("/[a-z]/",original) then flag="lower";
  17.                 else flag="upper";
  18.     end;
  19. run;

  20. proc freq data=test1;
  21.     table flag1-flag3;
  22. run;
复制代码

使用道具

藤椅
whymath 发表于 2021-4-8 22:45:24 |只看作者 |坛友微信交流群
转置后,列变成行;
将同一行内所有字符型变量首尾相连;
使用函数判断是否同时有大写和小写字符;
  1. data test;
  2.    input (x y z) ($);
  3. cards;
  4. aa bb cc
  5. Ac dd kk
  6. a4C d6-9 abd0_4
  7. ;
  8. run;

  9. proc transpose out = test1;
  10.   var _all_;
  11. run;

  12. data _null_;
  13.   set test1;
  14.   if anylower(cats(of COL:)) and anyupper(cats(of COL:)) then put _NAME_ = ;
  15. run;
复制代码

使用道具

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

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

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

GMT+8, 2024-5-2 00:33