BookmarkSubscribeRSS Feed
Alexxxxxxx
Pyrite | Level 9

Hi,

 

when I run the code, I get the following result.

 

1    proc sql;
2        create table process.merge1 as
3        select distinct
4        inpat.psn_name,
5        psn_sector
6        from process.number_of_pat as inpat
7        left join Pat2020.tls206_PERSON_Clean as inco on inpat.psn_name=inco.psn_name
8        where psn_sector in ('COMPANY','COMPANY GOV NON-PROFIT','COMPANY GOV NON-PROFIT
8  ! UNIVERSITY','COMPANY HOSPITAL','COMPANY UNIVERSITY')/* only COMPANY psn_sector will be
8  ! included in the sample*/
9        order by inpat.psn_name
10       ;
NOTE: Data file PROCESS.MERGE1.DATA is in a format that is native to another host, or the file
      encoding does not match the session encoding. Cross Environment Data Access will be used,
      which might require additional CPU resources and might reduce performance.

so, I check the format of each dataset by the following code,

 

12 proc contents data=Pat2020.tls206_PERSON_Clean ; run;
13 proc contents data=process.number_of_pat ; run;

and get the result as below.

 

 

1.png

 

2.png

 

I also run the code

 

14       proc options option=encoding;
15       run;

    SAS (r) Proprietary Software Release 9.4  TS1M2

 ENCODING=UTF-8    Specifies the default character-set encoding for the SAS session.
NOTE: PROCEDURE OPTIONS used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds

but in the end, the result is still,

 

 

16   proc sql;
17       create table process.merge1 as
18       select distinct
19       inpat.psn_name,
20       psn_sector
21       from process.number_of_pat as inpat
22       left join Pat2020.tls206_PERSON_Clean as inco on inpat.psn_name=inco.psn_name
23       where psn_sector in ('COMPANY','COMPANY GOV NON-PROFIT','COMPANY GOV NON-PROFIT
23 ! UNIVERSITY','COMPANY HOSPITAL','COMPANY UNIVERSITY')/* only COMPANY psn_sector will be
23 ! included in the sample*/
24       order by inpat.psn_name
25       ;
NOTE: Data file PROCESS.MERGE1.DATA is in a format that is native to another host, or the file
      encoding does not match the session encoding. Cross Environment Data Access will be used,
      which might require additional CPU resources and might reduce performance.
ERROR: User asked for termination.

26   quit;

Do you know why it still happens? and what should I do to figure out this problem?

 

Could you please give me some advice? Many thanks in advance.

 

 

 

7 REPLIES 7
Alexxxxxxx
Pyrite | Level 9

Hi, thanks for your reply.

 

my OS is 

 

Processor Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz 2.90 GHz

Installed RAM 64.0 GB (63.8 GB usable)

System type 64-bit operating system, x64-based processor

Pen and touch No pen or touch input is available for this display Edition Windows 10 Pro

Version 20H2

Installed on ‎19/‎07/‎2021

OS build 19042.1526

Experience Windows Feature Experience Pack 120.2212.4170.0

 

 

the following is the information shown on the SAS software
NOTE: SAS (r) Proprietary Software 9.4 (TS1M2 MBCS3170)
NOTE: This session is executing on the X64_8PRO platform.

 

NOTE: Updated analytical products:

SAS/STAT 13.2
SAS/ETS 13.2
SAS/OR 13.2
SAS/IML 13.2
SAS/QC 13.2

NOTE: Additional host information:

X64_8PRO WIN 6.2.9200 Workstation

Tom
Super User Tom
Super User

To avoid the issue re-create the dataset with your current version.

You can add the COMPRESS option and you should save a lot of space also since you have two insanely long character variables.

 

 

Alexxxxxxx
Pyrite | Level 9

Hi Tom, Many thanks for your advice about using the COMPRESS function to save space. could you please also give me some advice about the "in a format that is native to another host, or the file encoding does not match the session encoding". I also run the code in the SAS(Unicode support), but the result is the same.

 

 

 

 

 

Tom
Super User Tom
Super User

There is something different about your current SAS session and the one that made that dataset that is causing SAS to have to use what it calls CEDA to convert it on the fly.  Usually you can ignore those messages. That should not cause any trouble, but might effect your performance.  

 

Did you make the dataset? Or someone else?

The differences could be Operating System (say Window Desktop vs Window Server), SAS version, Encoding, SAS bitness (32 vs 64).

 

Alexxxxxxx
Pyrite | Level 9

Thanks for all your advice.

 

in the end, I delete the previous dataset 'process.merge1' and then I can create a new 'process.merge1' dataset without problem.

 

I hope this is helpful for others facing a similar problem. 

 

 

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
  • 7 replies
  • 3162 views
  • 5 likes
  • 4 in conversation