proc-sql

    0热度

    1回答

    我们正在将代码转换到SAS网格,我们使用Enterprise Guide 6.1运行SAS 9.4。一块代码给出的结果与我们在PC上运行SAS 9.3时得到的结果不同。我创建了一个示例数据集和代码,它返回不同的结果。在网格上运行的结果(包含13个重复行)是在select语句中包含列时的预期行为,但不会将其聚合或在组中使用它。使用SAS 9.3(6个不同的行)运行它的结果是我们想要的,但不是典型的S

    1热度

    2回答

    我有一个数据集命名为error_table,如下所示。所有的变量是字符 Errorno Error Resolution 001 login check 002 datacheck check 我想,如果Errorno不001和002执行sas程序的逻辑。否则停止执行并显示error_table。 我尝试以下 %macro test(); proc sql;

    1热度

    1回答

    我正在尝试编写一些代码,将新数据列合并到主数据集上。 由于这是作为一个宏写的,我宁愿在这个过程中没有创建新的数据集。 我已经实现了这个使用以下代码: PROC SQL; ALTER TABLE table1 ADD ADD_TYP Character length=12 format=$12.; QUIT; PROC SQL; UPDATE

    0热度

    2回答

    我在SAS数据集中有4列,如下面的第一张图所示。我需要通过ID比较连续行的日期。对于每个ID,如果Date2发生在相同ID的下一行Date1之前,则保留Bill金额。如果Date2发生在下一行的Date1之后,请删除帐单金额。因此对于每个ID,只保留Date2小于下一行Date1的账单。我已经把结果集应该放在底部。 结果集应该看起来像

    0热度

    1回答

    当我不希望它们成为时,我所有缺失的值都被删除。我认为SAS和甲骨文打得不好 - 但我不知道解决方案。谢谢你,如果你能提供关于这个错误的任何想法。 观察字符型字段性爱缺失值: data test ; input name $ sex $ age city $; if sex = "NA" then sex=' '; if city = "Unk" then city =

    0热度

    2回答

    考虑以下SAS代码: data test; format dt date9. ctry_cd $2. sn $2.; input ctry_cd sn dt; datalines; US 1 20000 US 1 20001 US 1 20002 CA 1 20003 CA 1 20004

    2热度

    2回答

    我正在处理一个大型数据集(3000万行),我需要拉最近的三个日期(可能有不确定数量的行连接到它们)所以就像03MAR2016可能有2行27FEB2016可能有10行,25FEB2016可能有3行。我怎么说“选择所有属于该集合中最后X个值的所有内容,而不管有多少行”?

    0热度

    1回答

    我试图在我的大型机上执行大型查询,我需要做的是拉下所有具有最高的PD_START_DATE。我觉得这是类似的东西 PROC SQL ; SELECT PD_PROP_NUM, PD_RATE_PGM, PD_START_DATE, PD_END_DATE, PD_DOW_FREQ, PD_ROOM_POOL, PD_QUOTE_SERIES, PD_RPGM_SEQ_NUM, PD_PROD_L

    2热度

    3回答

    我想使用SAS SQL(proc sql)标识电子邮件地址中连续辅音和元音的最大数量。输出应该看起来像下面的连续辅音列的最大值和连续元音的最大值(我在第一行中列出的字符仅用于说明目的)。 有几件事情需要注意: 对待特殊和数字字符作为计数终止(例如第3封电子邮件是一个很好的例子,你已经有了3个辅音(HF),然后是数字(98)和然后再2个辅音(JL),输出应该只是2(HF)。 我只是在电子邮件的第一部

    -1热度

    1回答

    我有一个像这样的proc sql,问题是sas在每个cust_comp_key之前删除零,例如FR_C_00000242正在转换为242,但我想在242之前保留zeo ... rsubmit; data ca_m_service_2; set ca_m_service; num_compte = input(substr(CUST_COMP_KEY, 6),Best12.); run;