Hello all, I am trying to run a matching procedure in my code. I have been stuck on this for a while and cannot seem to find the fix. proc sort data=rmi.zins; by mktcapi; run; proc sort data=rmi.zpub; by mktcapp; run; /* Initialize variables */ data rmi.zmatches; length ticker_symbolp $10 ticker_symboli $10; do i = 1 to 89; match = 0; mkt_diff = .; do j = 1 to 4024; /* Check if zpub record has not been matched */ if match = 0 then do; /* Calculate market cap difference */ mkt_diff_temp = abs(rmi.zins.mktcapi[i] - rmi.zpub.mktcapp[j]); /* If no previous match or if new match has smaller difference */ if mkt_diff = . or mkt_diff_temp < mkt_diff then do; mkt_diff = mkt_diff_temp; ticker_symbolp = rmi.zpub.ticker_symbolp[j]; ticker_symboli = rmi.zins.ticker_symboli[i]; end; end; end; /* Output match */ output; end; run; I have two different datasets 'rmi.zins' and 'rmi.zpub' Each only have two variables: 'ticker_symboli' and 'ticker_symbolp' respectively the second variable is 'mktcapi' and 'mktcapp' respectively I am POSITIVE that everything is spelt correctly. I tried this in the work library and now I have everything in a different library titled "rmi" hoping this would be the fix. mkt_diff_temp = abs(rmi.zins.mktcapi[i] - rmi.zpub.mktcapp[j]); ---------------- 780 ERROR: DATA STEP Component Object failure. Aborted during the COMPILATION phase. ERROR 780-185: Invalid object or method name. ^ this is the error code I get in the log. Help would be much appreciated
... View more