BookmarkSubscribeRSS Feed
Satora_In
Quartz | Level 8

Dear all,

 

I have a problem in my code. I miss understood.


%_eg_conditional_dropds(WORK.daily_contacts);

 

PROC SQL;

   CREATE TABLE WORK.daily_contacts AS

   SELECT DISTINCT t1.dt FORMAT=ddmmyy10. LENGTH=8 LABEL='' AS dt,

          t1.USER_ID_HASH LENGTH=40 AS USER_ID_HASH,

          t1.ADVERT_ID LENGTH=20 AS ADVERT_ID,

            (1) LENGTH=8 AS cnt_contact,

          t2.cat LENGTH=40 AS cat,

          t2.cat_2 LENGTH=50 AS cat_2,

          t2.cat_3 LENGTH=50 AS cat_3

      FROM WORK.MARKET_EVENTS t1

           INNER JOIN SANDBOX.SSS_ t2 ON (t1.ADVERT_ID = t2.ID)

      WHERE t1.USER_ID_HASH NOT IS MISSING AND t1.ADVERT_ID NOT IS MISSING AND t1.dt >= &rep_dt AND t1.dt < &w_end;

QUIT;

ERROR: Index TEMPINDX cannot be created on file WORK.'SASTMP-000001416'n because the length of the index value (32767 bytes) is too

       large. The index page size (currently 32767) must be large enough to store three index values plus a small overhead

       structure. Reduce the length of the index value or use the IBUFSIZE= option to increase the index page size (up to a maximum

       of 32,767 bytes).

1 REPLY 1
Patrick
Opal | Level 21

Looks like you're hitting this issue: https://support.sas.com/kb/48/733.html 

Does SAS continue to run and do you get the table created as the SAS Note indicates? 

 

From the SAS Note:
"Applying the hot fix prevents the SQLRC return code from being set to a non-zero value and allows the query to continue processing using a non-hash join method."

The SAS Note doesn't mention it but may-be using option magic could instruct the SQL optimizer to use a non-hash join method from start avoiding some error message being written to the log.
https://support.sas.com/resources/papers/proceedings14/1240-2014.pdf 

magic=102 sounds promising.

Patrick_0-1702296832767.png

 

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 748 views
  • 0 likes
  • 2 in conversation