楼主: jiaqitang11
898 4

[问答] 怎么去除或提取我这个有互相抵消的流水账数据? [推广有奖]

  • 0关注
  • 0粉丝

高中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0.0057
学术水平
2 点
热心指数
0 点
信用等级
0 点
经验
176 点
帖子
18
精华
0
在线时间
33 小时
注册时间
2021-5-23
最后登录
2023-9-12

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
这是一个流水帐数据表,G列的数值有一些负值,但每一个负值都有另一行对应的正值,在对应的行,除了transactionnum,那一列不同,其它的都是相同的,当然数值那几列都是相反的值。我现在想把没有正负值对应的列提取出来,怎么弄呢?


我把带负值的行和对应正值的行用同颜色标出来了。在我这个表中,就是把G列数值,8344142661380204629704对应数据行提出来。


一种情况就是 有一个 -200,200,200,一个-200和一个正200抵消, 那么我需要把另一个正200的那行数据提出来。


几万行数据。请看附件
二维码

扫码加我 拉你入群

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

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

关键词:流水账 Transaction Action Trans 对应数据

图片1[1649].png (2.76 MB)

图片1[1649].png

图片1[1649].png (2.76 MB)

图片1[1649].png

对于某一列,我们可以将正负数分别提取到不同的表,如tabel1和table2,然后将其中一个表的正负号调换,然后横向合并两个表格,这样就可以找出没有配对的行。

使用道具

藤椅
jiaqitang11 发表于 2022-6-10 08:14:14 |只看作者 |坛友微信交流群
这样会有遗漏。如果G列的的数值是 -1000,1000,1000. 提取到两个表,一个表有一个 -1000,另外一个表有两个1000,把-1000那个改为 1000. 两表合并。那么就都有配对。提取不出值。

而我希望是把第三个 1000提出来。

使用道具

板凳
乐天天12300 发表于 2022-6-10 09:49:54 |只看作者 |坛友微信交流群
  1. data test1;
  2. input a;
  3. cards;
  4. 1011
  5. 1022
  6. 1011
  7. 1023
  8. 1023
  9. 1023
  10. 1020
  11. ;
  12. run;

  13. data test2;
  14. input a;
  15. cards;
  16. 1000
  17. 1022
  18. 1023
  19. 1025
  20. 1022
  21. ;
  22. run;

  23. data test1;
  24.     set test1;
  25.     id1=a;
  26. run;

  27. data test2;
  28.     set test2;
  29.     id2=a;
  30. run;

  31. proc sort data=test1;
  32.     by a;
  33. run;

  34. proc sort data=test2;
  35.     by a;
  36. run;

  37. data up1;
  38.     update test1(in=x) test2(in=y);
  39.     by a;
  40.     if missing(id1) then id=id2;
  41.     else id=id1;
  42.     if (x and ^y) or (^x and y);
  43. run;

  44. data up2;
  45.     update test2(in=x) test1(in=y);
  46.     by a;
  47.     if missing(id1) then id=id2;
  48.     else id=id1;
  49.     if (x and ^y) or (^x and y);
  50. run;

  51. data up;
  52.     merge up1 up2;
  53.     by id;
  54.     keep id;
  55. run;
复制代码
已有 1 人评分经验 收起 理由
eijuhz + 20 精彩帖子

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

使用道具

报纸
zizhengwang 发表于 2022-6-12 19:00:24 |只看作者 |坛友微信交流群
在Excel中也可以这样做:
1、将G列的数值取绝对值,放在H列。
2、点击【数据】--【删除重复项】,选中除B列、G列之外的其他列,Excel会根据选中的列进行去重,完全相同的数值会被删除。
已有 1 人评分经验 收起 理由
eijuhz + 20 精彩帖子

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

使用道具

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

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

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

GMT+8, 2024-4-28 12:08