Hi there, My question is how to find the nearest match in the same column. Please see the following for a quick illustration. I am new to SAS programming, and only have a preliminary guess that proc sql might do the work. What I am doing now is manually adjusting - it is painful and especially so for over 3,000 observations. Firm Year Quarter Value AA 2000 1 -100 AA 2000 2 50 AA 2000 3 50 AA 2000 4 0 AA 2001 1 0 AA 2001 2 -50 AA 2001 3 100 AA 2001 4 -50 AA 2002 1 0 AA 2002 2 50 AA 2002 3 -150 AA 2002 4 100 BB 2000 1 0 BB 2000 2 0 BB 2000 3 0 BB 2000 4 50 BB 2001 1 150 BB 2001 2 0 BB 2001 3 -100 BB 2001 4 -100 I want to find the nearest "Value" match that could add up to zero. For example, for firm AA in 1st quarter 2000, I want to match the nearest two numbers that could add up to 100. I don't want the 50 for firm AA in 2002Q2 nor firm BB 2000Q4. In addition, I also struggle with the case for firm BB, and have no idea how to perform the matching: the two negative numbers add up to -200, the two positive numbers add up to +200, and they maybe in same or different years. To help you understand better, please find the following table for what I have in mind at the end of the day: Firm Year Quarter Value Value_matched YQ_matched AA 2000 1 -100 50 2000Q2 AA 2000 1 -100 50 2000Q3 AA 2001 2 -50 100 2001Q3 AA 2001 4 -50 100 2001Q3 AA 2002 3 -150 50 2002Q2 AA 2002 3 -150 100 2002Q4 BB 2001 3 -100 50 2000Q4 BB 2001 4 -100 100 2001Q1 For the BB case, it can be 2001Q3 "-100" matched to "50" in 2000Q4, it is also fine if it matches to "100" in 2001Q1 - the order doesn't matter. Thanks in advance! Any help is really appreciated! Regards, Michael
... View more