小编use*_*531的帖子

在Python中匹配数字模式的方法

我是Python的新手,我想知道是否有一种方法可以使用基于数字模式的条件语句.例如,如果我有一个数值列表,例如:

583201
584068
485027
581047
Run Code Online (Sandbox Code Playgroud)

我正在根据这些数字向变量"x"输出一个值,如何将值1分配给以"58"开头的所有值?

我试过这个:

import re

def Classify(SIC12):
   if re.search(7389*,SIC12):
       return 1
   else:
       return 0
Run Code Online (Sandbox Code Playgroud)

但看起来搜索功能仅适用于字符串.有没有办法做这样的事情?

python

2
推荐指数
1
解决办法
128
查看次数

Proc SQL输出未显示

我使用Proc SQL的知识应该允许您绕过PRINT过程并自动打印输出,但由于某种原因输出没有显示.我的输出目标处于活动状态,我的日志没有错误.这是我的代码.

proc sql;
    create table merged as
    select *
    from gram as g, nos as n
    where g.cash = n.weight;
quit;
Run Code Online (Sandbox Code Playgroud)

日志只是说过程时间和行/变量计数.没有错误.但它没有出现在输出窗口中.我不确定是什么问题.

sas proc-sql

2
推荐指数
1
解决办法
1604
查看次数

仅加入日期小于另一个字段中的最大日期的行

假设我有两张桌子.一个表包含员工信息和员工获得晋升的日期:

Emp_ID     Promo_Date
1          07/01/2012
1          07/01/2013
2          07/19/2012
2          07/19/2013
3          08/21/2012
3          08/21/2013
Run Code Online (Sandbox Code Playgroud)

另一张桌子每天都有员工关闭销售:

Emp_ID     Sale_Date
1          06/12/2013
1          06/30/2013
1          07/15/2013
2          06/15/2013
2          06/17/2013
2          08/01/2013
3          07/31/2013
3          09/01/2013
Run Code Online (Sandbox Code Playgroud)

我想加入这两个表,以便我只包括小于最大促销日期的销售日期.所以结果看起来像这样

Emp_ID     Sale_Date     Promo_Date
1          06/12/2013    07/01/2012
1          06/30/2013    07/01/2012
1          06/12/2013    07/01/2013
1          06/30/2013    07/01/2013
Run Code Online (Sandbox Code Playgroud)

对于其余的Emp_IDs依此类推.我尝试使用左连接来实现这一点

left join SalesTable on PromoTable.EmpID = SalesTable.EmpID and Sale_Date 
< max(Promo_Date) over (partition by Emp_ID)
Run Code Online (Sandbox Code Playgroud)

但显然我不能在连接中使用聚合,我已经知道我也不能在where语句中使用它们.我不知道怎么办这个.

sql

2
推荐指数
1
解决办法
4778
查看次数

在SQL查询中按年份进行二级排序

所以我有一张表,其ID值和日期看起来像这样:

ID           Date
0001         1/1/2012
0002         1/2/2010
0002         1/2/2011
0001         1/1/2011
0001         1/1/2010
0002         1/2/2012
Run Code Online (Sandbox Code Playgroud)

基本上,ID值仅对那一年是唯一的-它们会重置下一年。

我希望能够按ID值和日期排序,但是我想进行排序,以便按年份对值进行排序。只是带有辅助日期排序的常规ID会产生以下结果:

ID           Date
0001         1/1/2010
0001         1/1/2011
0001         1/1/2012
0002         1/2/2010
0002         1/2/2011
0002         1/2/2012
Run Code Online (Sandbox Code Playgroud)

但是我想要一个查询,该查询生成一个看起来像这样的表:

ID           Date
0001         1/1/2010
0002         1/2/2010
0001         1/1/2011
0002         1/2/2011
0001         1/1/2012
0002         1/2/2012
Run Code Online (Sandbox Code Playgroud)

这可能吗?

sql ms-access

1
推荐指数
1
解决办法
2472
查看次数

标签 统计

sql ×2

ms-access ×1

proc-sql ×1

python ×1

sas ×1