gpt4 book ai didi

mysql - 在 SAS 中比较单元格条目和返回值

转载 作者:行者123 更新时间:2023-11-29 18:20:32 26 4
gpt4 key购买 nike

只想比较单元格条目和返回值。

coustmer_NO  id   A1   A2   A3  A4   
1 5 10 20 45 0
1 13 0 45 2 5
2 4 0 10 7 8
2 3 7 9 55 0
2 10 0 0 0 0
3 4 90 8 14 3
3 10 20 7 4 15

如何统计每个customer_no具有(值> 030)的ID
然后,出现 030 之前的值的最小数量。

预期输出类似于:

cosutmer_no  ,   count_ac_num ,   values   
1 2 1
2 1 1
3 1 3

最佳答案

我建议转换为更垂直的结构。然后您可以开始尝试应用您的业务逻辑,尽管我很难理解那是什么。

假设引号没有意义(看起来有人有一个像 "xxx" 这样的字符串,其中包含写入 CSV 文件的实际引号字符,因此添加了额外的引号以保护现有的引号,因此它变成了 """xxx"""),您可以使用 compress() 函数来删除它们。

然后您可以将结果字符串拆分为 3 个字符的子字符串。

data want ;
set have ;
array h history1 history2 ;
do history=1 to dim(h);
h(history)=compress(h(history),'"');
length index 8 value $3 ;
do index=1 by 1 until (value=' ');
value=substrn(h(history),3*(index-1)+1,3);
if value ne ' ' then output;
end;
end;
drop history1 history2;
run;

所以你最终会得到这样的结果:

Obs    id    type    history    index    value

1 1 13 1 1 STD
2 1 13 1 2 STD
3 1 13 1 3 058
4 1 13 1 4 030
5 1 13 2 1 STD
6 1 13 2 2 030
7 1 13 2 3 066
8 1 13 2 4 036
9 1 13 2 5 030
10 1 13 2 6 STD
11 1 13 2 7 STD
12 1 13 2 8 STD
13 1 13 2 9 STD
14 1 13 2 10 STD
15 1 3 1 1 STD
16 1 3 1 2 STD
17 1 3 1 3 STD
18 1 3 1 4 XXX
19 1 3 1 5 STD
20 1 3 1 6 XXX
21 1 3 1 7 S

关于mysql - 在 SAS 中比较单元格条目和返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46622323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com