BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
MikeFranz
Quartz | Level 8

Hi,

 

I have managed to import my data into CAS library through the data import GUI. I am now trying to move it from CAS to SAS (partly because it is a lot of data and I neither need nor want it stored in in-memory).

 

I’m using the code below to move it to my SAS library:

 

DATA transactions_2017_02;
                set casuser.account (keep = CodeGeneralledgeraccount NameGeneralledgeraccount Transactiondate Period Code1 Name Balance);
RUN;

However, it keeps giving me the error:

ERROR: The maximum allowed bytes (104857600) of data have been fetched from Cloud Analytic Services. Use the DATALIMIT option to

        increase the maximum value.

 

How would I implement this data limit option? I have tried the following:

 

DATA transactions_2017_02;
                set casuser.account (keep = CodeGeneralledgeraccount NameGeneralledgeraccount Transactiondate Period Code1 Name Balance);
                datalimit = “All”;

RUN;

 

Any ideas on how to up the data limit?

1 ACCEPTED SOLUTION

Accepted Solutions
jklaverstijn
Rhodochrosite | Level 12

Hi,

 

I am a bit out onb a limb here as I have net yet done anything with Viya (shame on me). But there is an obvious anwer to your question.

 

First of all your attempt would merely copy the data and add a variable called Datalimit to the copy with value "All" in every row. From the doc I can tell that this would be your best bet:

 

DATA transactions_2017_02;
                set casuser.account (datalimit="All" keep = CodeGeneralledgeraccount NameGeneralledgeraccount Transactiondate Period Code1 Name Balance);
RUN;

The option is documented as a dataset option so it can occur between the parentheses after the input dataset. The doc also confirms that you are running into the 100MB (104857600 bytes) default.

 

EDIT: On second thought, the variable Datalimit would not be in the output dataset as it does not occur on the KEEP statement. It would however be created at datastep run time.

 

Hope this helps,

- Jan

View solution in original post

2 REPLIES 2
jklaverstijn
Rhodochrosite | Level 12

Hi,

 

I am a bit out onb a limb here as I have net yet done anything with Viya (shame on me). But there is an obvious anwer to your question.

 

First of all your attempt would merely copy the data and add a variable called Datalimit to the copy with value "All" in every row. From the doc I can tell that this would be your best bet:

 

DATA transactions_2017_02;
                set casuser.account (datalimit="All" keep = CodeGeneralledgeraccount NameGeneralledgeraccount Transactiondate Period Code1 Name Balance);
RUN;

The option is documented as a dataset option so it can occur between the parentheses after the input dataset. The doc also confirms that you are running into the 100MB (104857600 bytes) default.

 

EDIT: On second thought, the variable Datalimit would not be in the output dataset as it does not occur on the KEEP statement. It would however be created at datastep run time.

 

Hope this helps,

- Jan

MikeFranz
Quartz | Level 8
Thank you Jan. Just a quick note, I needed to remove the quotes around the "All", otherwise worked perfectly.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 5959 views
  • 1 like
  • 2 in conversation