比较SAS上两个观测值的发生率

比较SAS上两个观测值的发生率,sas,base,enterprise-guide,Sas,Base,Enterprise Guide,嗨,我在SAS上遇到数据处理问题。我有每个客户的交易历史记录,我还创建了一个客户交易编号。除此之外,我还使用事件标志的1/0事件来标记每个事务 现在我想找出在哪个观测中,事件标记从1变为0,并标记在“1”之后显示第一个“0”的事件。此外,我还必须为每个客户分别创建此标志 如何在SAS上编写此代码 我试着在下面的链接上说明问题,提前非常感谢你们的帮助 问候 DATA NEW; SET YOURS; IF LAG1(CUST_ID)=CUST_ID AND LAG1(FLAG_1) != FLAG

嗨,我在SAS上遇到数据处理问题。我有每个客户的交易历史记录,我还创建了一个客户交易编号。除此之外,我还使用事件标志的1/0事件来标记每个事务

现在我想找出在哪个观测中,事件标记从1变为0,并标记在“1”之后显示第一个“0”的事件。此外,我还必须为每个客户分别创建此标志

如何在SAS上编写此代码

我试着在下面的链接上说明问题,提前非常感谢你们的帮助

问候

DATA NEW;
SET YOURS;
IF LAG1(CUST_ID)=CUST_ID AND LAG1(FLAG_1) != FLAG_1 THEN NEW_FLAG="FLAG=1";
RUN;
该代码将检查该客户是否是同一客户。然后检查当前记录标志是否等于“flag_1”变量的先前记录标志

如果需要,您可以通过指定其他布尔逻辑(例如,当标志_1的前一个值为1,当前值为0时),来获得更具体的结果,然后定义ect

该代码将检查该客户是否是同一客户。然后检查当前记录标志是否等于“flag_1”变量的先前记录标志


如果需要,您可以通过指定其他布尔逻辑来获得更具体的信息,例如,当标志_1的先前值为1,当前值为0时,然后定义ect…

查看LAG函数,它将为您提供先前记录的值。确保检查客户是否与滞后记录相同。查看滞后函数,它将为您提供以前记录的值。确保您检查客户是否与滞后记录相同。如果滞后(CUST_ID,1)=CUST_ID和(BALANCE-LAG(BALANCE,1))>0,则按照您的代码创建此代码,然后FLAG=“FLAG=1”;但它确实指出了错误72-185:滞后函数调用的参数太多。抱歉,语言混淆了。使用LAG1(Cust_id)代替我给你的语法。与balance相同。如果LAG(CUST_ID,1)=CUST_ID且(balance-LAG(balance,1))>0,则按照您的代码创建此代码,然后FLAG=“FLAG=1”;但它确实指出了错误72-185:滞后函数调用的参数太多。抱歉,语言混淆了。使用LAG1(Cust_id)代替我给你的语法。平衡也是如此。