Cookies help us display personalized product recommendations and ensure you have great shopping experience.

By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
SmartData CollectiveSmartData Collective
  • Analytics
    AnalyticsShow More
    sales and data analytics
    How Data Analytics Improves Lead Management and Sales Results
    9 Min Read
    data analytics and truck accident claims
    How Data Analytics Reduces Truck Accidents and Speeds Up Claims
    7 Min Read
    predictive analytics for interior designers
    Interior Designers Boost Profits with Predictive Analytics
    8 Min Read
    image fx (67)
    Improving LinkedIn Ad Strategies with Data Analytics
    9 Min Read
    big data and remote work
    Data Helps Speech-Language Pathologists Deliver Better Results
    6 Min Read
  • Big Data
  • BI
  • Exclusive
  • IT
  • Marketing
  • Software
Search
© 2008-25 SmartData Collective. All Rights Reserved.
Reading: SAS Coding: Scattered Data Might Need CPORT Procedure Help
Share
Notification
Font ResizerAa
SmartData CollectiveSmartData Collective
Font ResizerAa
Search
  • About
  • Help
  • Privacy
Follow US
© 2008-23 SmartData Collective. All Rights Reserved.
SmartData Collective > Data Management > Best Practices > SAS Coding: Scattered Data Might Need CPORT Procedure Help
Best PracticesData Management

SAS Coding: Scattered Data Might Need CPORT Procedure Help

Tricia Aanderud
Tricia Aanderud
9 Min Read
SHARE

My computer is a hot mess!  I have datasets and code everywhere.  I’m serious … you name it … there is not a hard drive, thumb drive, and even a DVD in my office that doesn’t have data on it.  I call it Scattered Data Syndrome and I had to do something before I kicked a stray dataset across the room and broke the printer.

Contents
It’s Scattered Data SyndromeLady, What You Need is a File ServerOh, Why Can’t Windows Fit My Budget?Oh the Horror! Session Encoding Does Not MatchSolving the Issue with the CPORT ProcedureUsing the CPORT ProcedureUsing the CIMPORT ProcedureNow for My Next Task

Who knew this seemingly simple task would be related to PROC DATASET not working. Gasp? What?  Yep … cross environment data access (CEDA) issues are all I got for Christmas, kids!

My computer is a hot mess!  I have datasets and code everywhere.  I’m serious … you name it … there is not a hard drive, thumb drive, and even a DVD in my office that doesn’t have data on it.  I call it Scattered Data Syndrome and I had to do something before I kicked a stray dataset across the room and broke the printer.

Who knew this seemingly simple task would be related to PROC DATASET not working. Gasp? What?  Yep … cross environment data access (CEDA) issues are all I got for Christmas, kids!

More Read

The World’s 7 Most Powerful Data Scientists
Are There Alternatives to Data Hoarding?
How to Stay Out of Cash Flow Crises Using Cash Position Analysis
7 Essential Data Privacy Tips for New VPN Users
Solving the Challenge of Customer-Facing Analytics

It’s Scattered Data Syndrome

Forget about big data issues – I had scattered data issues.  It’s a syndrome common to those who created everything on the fly with no thought of reuse. After several years of creating examples for blogs, user conference papers, and customers – I realized that my computers were a minefield of SAS code, SAS datasets, Enterprise Guide projects, and what have you. People would ask for examples that I knew I had created before, but could not locate.  Thus I would recreate the example, which was basically a waste of time.

Lady, What You Need is a File Server

I have multiple SAS environments available for demo purposes.  This blog is a good example of demos that I create.  To keep multiple environments going, my IT department (aka husband Ken) has set up several virtual environments that run various environments for quick access.

After hearing all my scattered data drama, Ken decided I needed a central storage location and he created a file server. All of the environments can reach it.  As I create new demos, I decide if I want to add the data through a metadata library.  Not all of these environments are needed, for instance, I also have a SAS 9.2 (not shown) that I if I need to test how something worked before.

This drawing shows the final environment along with how it is backed-up to an external hard drive and Sugar Sync.  I backup code but not data – mainly due to the file size.  Plus most of it is sample data that I can recreate or access from elsewhere.  In SAS 9.3+, the metadata is backed up with automagically. [Here’s another clever way.]

sas environment setup

Oh, Why Can’t Windows Fit My Budget?

I like Windows but Ken prefers the Linux Red Hat-based CentOS 64 system.  After discussing purchasing yet another Windows license – it seemed smarter to continue with Linux.  Unknown to me … this is where the topic of this blog post actually started.

Oh the Horror! Session Encoding Does Not Match

I was really pleased to learn the SAS Global Forum 2014 accepted by paper about SAS Add-In for Microsoft Office (AMO). The paper covers 7 different examples of how to get more value out of AMO.  It is a lot work to put together that many examples, so of course I wanted to reuse older examples.  BGKPI was a dataset I had moved from my Windows-based system to the Linux-base file server.

All I really needed to do was rename the variables so it would be more clear how I was using it in the example.  But look what happened when  I tried to use the Datasets procedure to do it. Curses!  –  ”Cannot be updated because encoding does not match session encoding!”  Ugh .. what does that even mean?

sas cport procedure example

In the prior step I had used PROC CONTENTS to review the dataset and SAS issued a note that it has identified a dataset native to another operating system. SAS lets me know it used the Cross Environment Data Access (which require more resources) to handle the dataset. [More about cross environment data access and its limitations.]

This is no issue if I want to view the data or even use it in a data step. Since I was not able to use the datasets procedure on the data set – it was a disaster.  Considering the other 100 datasets were also Windows-based – seems like I needed a better solution.

Solving the Issue with the CPORT Procedure

How do you change a dataset format?  Well you just need the handy-dandy CPORT procedure.  It is similar to how zipping a file with WinZip works.  WinZip compresses files and places them in a ZIP file.  The ZIP file can then be transported to another system where the user can unzip the files into a new directory.  However, CPORT converts the data for the operating system where it is being extracted – very nice.

Using the CPORT Procedure

In the following figure, I used the CPORT procedure to combine the files in the MY_LIB library into an output file called Z_DATA2MOVE.DAT file.  You can see the resulting file was placed alongside the other datasets.

sas cport example

Here’s the basic code you need.    In the above figure, notice that I included the LIBNAME and FILENAME statements to be more clear about what I was doing. If you have a metadata library or a BASE library it works either way.

 proc cport   lib =   file =<fileref|'filename'> ; run;

There are other options available to CPORT, such as limiting the compression or only selecting a single file.  You can explore those topics on your own. [ More about the CPORT procedure.]

Using the CIMPORT Procedure

Now, I need to get the data into its new location, which only required a CIMPORT procedure.  It is basically the same code with just a slightly different procedure name: CIMPORT.

sas cimport procedure

Here’s the code for reference.  Notice that in the figure above that I used a meta data library but I had to turn on the METAOUT option.  Also notice that I placed the incoming file in a different location where I had manually moved it using FTP.

 proc cimport   lib =   file =<fileref|'filename'> ; run;

There are other options available with CIMPORT that you can learn about here.  Here’s another write-up about transporting SAS libraries from University of Massachusetts.

Now for My Next Task

I can imagine other uses for CPORT/CIMPORT, such as sharing files with others or just having a way to compress files for storage. But now I need to get busy with a SGF paper!

What ideas do you have or have you used?  Tell me in the Comments below.

Share This Article
Facebook Pinterest LinkedIn
Share

Follow us on Facebook

Latest News

sales and data analytics
How Data Analytics Improves Lead Management and Sales Results
Analytics Big Data Exclusive
ai in marketing
How AI and Smart Platforms Improve Email Marketing
Artificial Intelligence Exclusive Marketing
AI Document Verification for Legal Firms: Importance & Top Tools
AI Document Verification for Legal Firms: Importance & Top Tools
Artificial Intelligence Exclusive
AI supply chain
AI Tools Are Strengthening Global Supply Chains
Artificial Intelligence Exclusive

Stay Connected

1.2kFollowersLike
33.7kFollowersFollow
222FollowersPin

You Might also Like

data protection strategies
Data Management

5 Reasons Why Small and Medium-Sized Businesses Should Take Data Protection More Seriously

7 Min Read
big data disney
AnalyticsBest PracticesBig DataCulture/LeadershipData ManagementInside CompaniesITLocationMobilitySoftwareTransparency

Big Data Meets Walt Disney’s Magical Approach

6 Min Read

Digital Risk Management: Why Cyber Security Measures Aren’t Enough

7 Min Read
cloud computing
Best PracticesBig DataBusiness IntelligenceCloud ComputingData ManagementITLocation

Welcome to the Cloud Neighborhood

7 Min Read

SmartData Collective is one of the largest & trusted community covering technical content about Big Data, BI, Cloud, Analytics, Artificial Intelligence, IoT & more.

AI chatbots
AI Chatbots Can Help Retailers Convert Live Broadcast Viewers into Sales!
Chatbots
giveaway chatbots
How To Get An Award Winning Giveaway Bot
Big Data Chatbots Exclusive

Quick Link

  • About
  • Contact
  • Privacy
Follow US
© 2008-25 SmartData Collective. All Rights Reserved.
Go to mobile version
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?